最短コードソリューションは、このいずれかになります。変数を貼り付けるために、代替逆パース
y <- TRUE
CleanEnvir <- function(x) {rm(list=deparse(substitute(x)),envir=.GlobalEnv)}
CleanEnvir(y)
y
:
特定の変数を削除その値ではなく名前が であり、確かにpos = ".GlobalEnv"が動作しますしかし、単純にenvir = .GlobalEnvを使用することもできます。
解決策2:実際にパターンマッチングが可能です。私はtmp1とtmp2を削除したいのですが、Global.tmpとlocaltmpという名前の別の変数があるのを忘れてしまいました。 。。!パターンによる例
削除:
myvar1 <- TRUE
myvar2 <- FALSE
Pat.clean.Envir <- function(x) { rm(list = ls(.GlobalEnv)[grep(deparse(substitute(x)), ls(.GlobalEnv))], envir = .GlobalEnv) }
Pat.clean.Envir(myvar)
歓声
ありがとうございました!私はls()部分を完全に無視しました... –