R rm()函数处理代码

时间:2015-05-06 08:51:45

标签: r

什么是rm()?我可以使用字符串删除对象,但似乎导致字符串的处理不起作用:

obj <- "my.obj"
o.str <- "obj.test"
class(sub("[.]test","",o.str)) # "character"
class("obj") # "character"
identical(sub("[.]test","",o.str),"obj") # "TRUE"
rm("obj") # works
obj <- "my.obj"
rm(sub("[.]test","",o.str))
# error:
# Error in rm(sub("[.]test", "", o.str)) : 
#   ... must contain names or character strings 

为什么?

1 个答案:

答案 0 :(得分:3)

使用给定字符串删除值的更好方法是通过list=参数

rm(list=sub("[.]test","",o.str))

记录“...”的方式是它希望将对象作为引用或不引用的名称。它不期望一个会返回名字的函数。这就是list=的用途。