R使用paste0()在assign()之后删除变量

时间:2016-03-09 20:23:29

标签: r

我需要使用assign()创建一个变量,为其提供动态名称。 我后来需要删除变量。

day_no <- 1
df <- data.frame( a = 1:3, b = 4:6 )
assign( paste0( 'newdf_' ,day_no ), df )

这很好用。

麻烦的是之后删除变量。 我试过了:

rm( paste0( 'newdf_', day_no ) )

或者:

rm( parse( paste0( 'newdf_', day_no ) ) )

但是我收到此错误消息:

Error in rm(parse(paste0("newdf_", day_no))) : 
... must contain names or character strings

我在网上搜索了很多,但找不到答案,我们非常感谢你的帮助。

1 个答案:

答案 0 :(得分:4)

对于非交互式使用,请使用list参数传递您的角色名称。

rm(list = paste0("newdf_", day_no))