将变量名称转换为变量

时间:2015-04-17 15:50:47

标签: r

我试图在我的环境中打印出某种类型的所有变量(例如'矩阵)。我试过了

for(f in ls()) {if(is.matrix(f) print(f) }

显然,这不起作用,因为ls()返回字符串列表。我尝试了其他方法,但似乎无法将字符串f转换为变量f。有谁知道这是怎么做到的吗?

简而言之,如果我有一个包含" x"的字符串变量y,并且x在我的环境中也是一个变量,我想用y来访问x。当然,我可能不知道y具有什么价值。

2 个答案:

答案 0 :(得分:2)

您可能需要get来访问对象

for(f in ls()) { if(is.matrix(get(f))) print(f) }

答案 1 :(得分:2)

您可以使用mget()获取与变量名称向量

对应的对象
for(f in mget(ls())) { if(is.matrix(f)) print(f) }