我想删除一个对象,其名称包含在字符串对象中.
a <- 1
b <- "a"
Run Code Online (Sandbox Code Playgroud)
我试着这样做:
> rm(get(b))
Error in rm(get(b)) : ... must contain names or character strings
> remove(eval(b))
Error in remove(eval(b)) : ... must contain names or character strings
Run Code Online (Sandbox Code Playgroud)
如何让R删除其名称包含在字符串中的对象b(即此处a)?
只是
rm(list = b)
Run Code Online (Sandbox Code Playgroud)
来自?rm:
list:命名要删除的对象的字符向量.
为了达到您想要的输出,您可以做到
rm(list = eval(b))
Run Code Online (Sandbox Code Playgroud)
或者(由@James提出)
eval(call("rm", b))
Run Code Online (Sandbox Code Playgroud)