r - R 中的命名元素操作

标签 r

我是 R 的初学者,并提前为问一个基本问题道歉,但我无法在 Google 上的任何地方找到答案(可能是因为这个问题太基本了,我什至不知道如何正确搜索它..: D)

因此,如果我在 R 中执行以下操作:

v = c(50, 25)
names(v) = c("First", "Last") 
v["First"]/v["Last"]

我得到的输出为:
First 
    2

为什么名称“First”出现在输出中以及如何摆脱它?

最佳答案

来自 help("Extract") , 这是因为

Subsetting (except by an empty index) will drop all attributes except names, dim and dimnames.





The usual form of indexing is [. [[ can be used to select a single element dropping names, whereas [ keeps them, e.g., in c(abc = 123)[1].



由于我们选择的是单个元素,您可以切换到双括号索引 [[并且名称将被删除。
v[["First"]] / v[["Last"]]
# [1] 2

至于使用单括号索引时保留哪个名称,看起来它总是第一个(至少使用 / 运算符)。我们必须深入研究 C 源代码以获得进一步的解释。如果我们切换顺序,我们仍然会得到结果中的名字。
v["Last"] / v["First"]
# Last 
#  0.5 

关于r - R 中的命名元素操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42289293/

相关文章:

r - 如何加载 rjags

r - ggplot2 - 翻转堆积条形图中的级别顺序

r - 如何使用dplyr消除for循环?

r - fft 输出的实部和虚部是否相关?

r - ggplot 在同一面板中组合线和区域(facet-grid)

从 ggtree 图中删除 'a'

r - 自定义在 R Shiny 中获取用户名和密码的文本输入

r - HTS 包 : how to specify a network-like hierarchy of forecasts?

r - 如何将函数应用于 data.table 的行子集,其中每次调用都返回一个 data.table

R - 在函数内保存图像未加载