R:删除(rm)一个变量,该变量的名称是存储在另一个变量中的字符串

时间:2019-01-21 19:22:01

标签: r

在R中,我希望能够删除 rm )一个变量,该变量的名称以字符串形式存储在另一个变量中。这是一个例子...

myVarName <- "toBeRemoved"
assign(myVarName, 3)
# mysteryremove is the function/command I'm looking for
mysteryremove(myVarName)

如您所见,我已经使用 assign 命令将值3放入名为“ toBeRemoved”的变量中。我正在寻找一个类似于 assign 的函数,该函数将通过变量名删除 / rm 该变量。

请注意,我想我可以这样做:

idx <- which(myVarName == ls())
if(length(idx)) rm(list = ls()[idx])

...但是我希望有一种更简单的方法。

最后的注释-当然,如果我知道要删除的变量,我可以简单地做到:

rm(toBeRemoved)

...但是问题在于,在执行代码之前,我不知道要删除的变量。

1 个答案:

答案 0 :(得分:1)

只需使用

rm(list=myVarName)

list=参数采用字符名称。虽然总的来说,我会告诫不要使用assign()。它通常是不必要的,只是非常混乱。在大多数情况下,R对命名列表的满意度更高。