R中的Get()返回"找不到对象xyz"对于数据框字段

时间:2016-09-12 14:23:01

标签: r get

R中的基函数get()不允许我引用数据框中的列:

x <- data.frame(y=c(1,2,3), z=c(4,5,6))
get("x$y")
> Error in get("x$y") : object 'x$y' not found
get("x[,1]")
>Error in get("x[,1]") : object 'x[,1]' not found
x$y
>[1] 1 2 3

所以数据存在,但base :: get在某种程度上不会将其识别为对象。如何使用get()引用数据框中的单个列?

1 个答案:

答案 0 :(得分:0)

get查找变量名称;它不会解析和评估任意代码。为此,您需要evalparse。例如

eval(parse(text = "x$y"))

请注意,在大多数情况下,使用eval + parse被认为是不好的。这是因为它更容易创建并更难找到错误。