2

假设我有一组变量 test1、test2、test3、...、testn。我想使用“eval”在 for 循环中删除它们,但它不起作用。解决办法是什么?先感谢您。

for (i in 1:5)
rm(eval(parse(text=(paste0("test",i)))))

Error in rm(eval(parse(text = (paste0("test", i))))) : 
  ... must contain names or character strings
Error during wrapup: cannot open the connection
4

1 回答 1

1

正如许多人提到的,不需要loop

Arun的解决方案:

rm(list=grep("^test[0-9]+$", ls(), value=TRUE))

如果你坚持使用循环,那么:

for (i in 1:5)
  rm(list=ls()[ls()==paste0("test",i)])
于 2013-08-06T13:36:49.037 回答