我遇到的问题是我需要加载一个文件类型为.Rdata的对象,其中对象的名称是未知的。我可以在verbose = TRUE
函数中使用load
来获取名称。然后,我使用get
重命名对象,以便标准化对象名称以进行进一步的处理步骤。现在我想通过调用此名称来删除原始对象。我无法得到rm
来解决我的对象中记录名称的字符串:
a <- 1:10 # original data 'a'
z <- tempfile()
save(a, file=z) # saved to tempfile that doesn't contain the object name
rm(a) # then removed
obj.name <- load(z, verbose = TRUE) # 'a' is loaded and name recorded
b <- get(obj.name) # object is passed to 2nd object 'b' to standardize name
rm(list(get(obj.name))) # can't remove 'a' this way
# Error in rm(list(get(obj.name))) :
# ... must contain names or character strings
file.remove(z) # cleanup
答案 0 :(得分:4)
只需使用rm(list = obj.name)
,因为list
接受字符。