R:在删除之前评估对象名称

Peu*_*tch 2 variables r

我想删除一个对象,其名称包含在字符串对象中.

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)?

Ben*_*ker 5

只是

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)