【发布时间】:2015-10-18 03:13:42
【问题描述】:
假设我有一个子集对象名称的字符串。例如:
foo$var1[foo$var2 < 10 & foo$var3 %in% c(0:100)] #is currently represented as...
"foo$var1[foo$var2 < 10 & foo$var3 %in% c(0:100)]"
我想使用对象名称的字符串调用子集对象。
我尝试使用get():
get("foo$var1[foo$var2 < 10 & foo$var3 %in% c(0:100)]")
但我得到了错误:
Error in "foo$var1[foo$var2 < 10 & foo$var3 %in% c(0:100)]":
object "foo$var1[foo$var2 < 10 & foo$var3 %in% c(0:100)]" not found
我假设有一种方法可以使用子集对象来做到这一点(而我知道它只是一个对象名称)。
提前致谢!
【问题讨论】:
-
您是如何陷入这种境地的?将 R 代码放入字符串可能不是 R 中的一个好策略。
get()函数返回给定名称的变量,它不评估代码(以及像[和&和<这样的操作是 R) 中的函数。您可能能够解析和评估eval(parse(text=x)),但这不是我推荐的必要内容。