如何用rm()删除对象

时间:2014-05-15 04:27:31

标签: r

aaa<-function() {
  for (i in 1:2) {
    rm(paste("aaa",i,sep=""),pos = ".GlobalEnv")
  }
}

aaa1<-"e!f!g!h!"
aaa2<-"e!f!g!h!"
aaa()

我试图用循环删除aaa1和aaa2,但它似乎不起作用。

1 个答案:

答案 0 :(得分:2)

您无法将返回类似字符向量的函数传递给rm。例如,如果你运行

aaa1<-12   
x<-"aaa1"
rm(x)

它将删除x,而不是aaa1。所以你不能通过给rm()这样的字符串列表来删除变量。

但是,rm()确实有list=参数,允许您指定字符向量。所以

aaa<-function() {
  for (i in 1:2) {
    rm(list=paste("aaa",i,sep=""),pos = ".GlobalEnv")
  }
}

aaa1<-"e!f!g!h!"
aaa2<-"e!f!g!h!"
aaa()

会奏效。

相关问题