我想找到一组函数并保存它们,因为我想将它们以 Rdata 文件发送到远程服务器,并且我不想在服务器上安装新的包。
尽管我使用下面的方法遇到错误,但更简单/更好的方法是值得欢迎的。
MWE:
这是两个虚拟函数:
abcd.fun.1 <- function() return(1)
abcd.fun.2 <- function() return(2)
我可以识别虚拟函数:
ls()[grep('abcd', ls())]
但是当我将其包装在函数中时:
find.test <- function(x) {
return(ls()[grep(x, ls())])
}
find.test('abcd')
函数返回character(0)
最终我想
save(find.test('abcd'), file = test.Rdata)
- 为什么不使用
pattern=
论证ls
?
- Calling
ls
inside 函数列出了存在于函数中的对象
功能范围,not全球环境(这在?ls
).
如果要从函数中列出全局环境中的对象,请指定envir=.GlobalEnv
.
x <- 1:10
f <- function() ls()
g <- function() ls(envir=.GlobalEnv)
h <- function() ls(envir=.GlobalEnv, pattern="[fg]")
f()
# character(0)
g()
# [1] "f" "g" "h" "x"
h()
# [1] "f" "g"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)