R 如何通过调用字符值来命名值?
我希望给出向量名称中的值。我知道怎么做,但在这种情况下,我有很多名字和值,都在列表中的向量中,手工输入它们可能会导致自杀 此方法:R 如何通过调用字符值来命名值?,r,character,names,R,Character,Names,我希望给出向量名称中的值。我知道怎么做,但在这种情况下,我有很多名字和值,都在列表中的向量中,手工输入它们可能会导致自杀 此方法: > values <- c('jessica' = 1, 'jones' = 2) > values jessica jones 1 2 > names <- c('jessica', 'jones') > values <- c(names[1] = 1, names[2] = 2) Er
> values <- c('jessica' = 1, 'jones' = 2)
> values
jessica jones
1 2
> names <- c('jessica', 'jones')
> values <- c(names[1] = 1, names[2] = 2)
Error: unexpected '=' in "values <- c(names[1] ="
我可以按显示的方式单独键入每个数值的名称,但还有很多,因此我尝试输入如下内容:
c(ingredients[1] = 1, ingredients[2] = 2, ingredients[4] = 3)
但这带来了一个错误:
Error: unexpected '=' in "amounts <- list(c(ingredients[1] ="
错误:金额中出现意外的“=”我们可以使用setNames
setNames(1:2, names)
如果我们有两列数据集,另一个选项是deframe
library(tibble)
tibble(names, val = 1:2) %>%
deframe
我想你误解了,所以我给问题添加了一个解释。虽然我明确表示我不能按照你的建议做,这相当于只做name(values)@rony Efronny请使用dput()发布一些示例数据
。否则,这将很难帮助你。@RonnyEfronny.数量与成分的关系如何?
?你可能不清楚,但既然你说的是“列表中的向量”,也许最好知道这些“列表”的结构“。你能提供一个有代表性的列表样本吗,或者是通过编程方式list(…)
或者是通过dput(head(l))
(这里没有太多我们不需要知道的列表)。我在一个具体的例子中进行了编辑。例如,你如何知道成分
1,2,和4应用于量中的特定向量?似乎没有一个固定的模式。没有,这是我需要从手写笔记中构建的数据,用于我正在做的练习。老实说,我甚至不知道这有什么关系,这个问题即使对于法向量也是存在的,我正在寻找错误发生的原因。金额
从何而来又有什么关系呢?虽然您可能会试图强制解决这个问题(例如,使用解析
)定义一个字符串,然后重新分配字符串中的组件,然后将其解析为一个R命令并对其进行评估,但这很容易出现很多错误和缺陷,并且可能会导致反惯用对不起,考虑到你的限制,你想要什么并不容易。
library(tibble)
tibble(names, val = 1:2) %>%
deframe