x = 10
rm(x) # removed x from the environment
x = 10
x %>% rm() # Doesn't remove the variable x
1(为什么管道技术不删除变量?
2(我如何使用管道和rm((删除变量?
脚注:这个问题可能与Magrittr软件包中的管道相似
使用%<>%
操作员将值分配给NULL
x %<>%
rm()
在管道中,我们获得了值,而不是对象。因此,通过使用%<>%
,即复合分配运算符,将" x"的值分配给null
x
#NULL
如果我们需要删除对象,则以character
字符串将其传递给rm
的list
参数,该参数采用character
对象,然后指定environment
x <- 10
"x" %>%
rm(list = ., envir = .GlobalEnv)
当我们调用'x'
时x
错误:找不到对象'x'
...
不起作用的原因是对象.
未在rm
x <- 10
"x" %>%
rm(envir = .GlobalEnv)
警告消息:在rm(。,envir = .globalenv(中:对象'。找不到
另一个选择是使用do.call
x <- 10
"x" %>%
list(., envir = .GlobalEnv) %>%
do.call(rm, .)
x
错误:找不到对象'x'