我有一组字符串
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
答案 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.