从R

时间:2019-03-09 18:24:35

标签: r

我有一组字符串

a = c("b1","b5","b7")

我有一个列表abc,其中有数据帧b1 b2 b3 b4 b5 b6 b7 当我尝试

for(i in a) {
  cde$i = abc$as.name(i)
}

我收到一个错误,因为abc$as.name(i)不正确。 我的问题是如何告诉R将abc $“ b1”看成abc $ b1

1 个答案:

答案 0 :(得分:1)

要通过其他变量的值获取列表的元素,请使用[[x]]而不是涉及$符号的任何东西。

LIST = list(a=1, b=2, c=3)
a = "b"
LIST$a # gets 1, always the literal value after the dollar
LIST[[a]] # gets 2, evaluates its argument, results in string "b"  
LIST[["a"]] # gets 1, same as LIST$a, argument evaluates to a string.