粘贴为对象名称

遗产

我正在尝试将paste0与merge一起使用,以便可以在循环中合并一堆东西。但是,我在从data.frames调用特定列时遇到麻烦

为了说明,我将使用head

例子:

df <- data.frame(x=1:10,y=1:10)
head(df)
    x  y
1   1  1
2   2  2
3   3  3
4   4  4
5   5  5
6   6  6

head(get("df"))
    x  y
1   1  1
2   2  2
3   3  3
4   4  4
5   5  5
6   6  6    

head(df$x)
[1] 1 2 3 4 5 6

head(get("df$x"))
Error in get("df$x") : object 'df$x' not found

有没有一种方法可以获取特定的列?

亚历克斯

该函数get查找在环境中定义的对象。如果不指定环境,则默认为全局工作区。

您需要使用强制df进入一个环境as.environment,然后使用该环境调用get,例如:

get("x", as.enviroment(get("df")))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章