这可能是基本问题,但我一直无法弄清楚。
所以我有一个函数,它data.frame使用包从 MySQL 数据库中获取多个数据RMySQL并执行几个操作。
我希望它的输出进入全局环境,这样我就可以轻松运行其他函数。
例子
我做了一些阅读,发现<<-可以用于范围界定,但它似乎不起作用。
myfunc <- function() {
`FETCH DF`
`FETCH DF1`
`PERFORM OPERATIONS`
DF <<- DF
DF1 <<- DF1
}
Run Code Online (Sandbox Code Playgroud)
我只想DF进入DF1全局环境,这样我就可以执行以下操作
myfunc()
DF <- whateverfunc(DF)
DF1 <- whateverfunc(DF1)
Run Code Online (Sandbox Code Playgroud)
复制
你们可以运行以下命令来重现我的 sim。
myfunc <- function() {
DF <- data.frame(q = c(503,503,503,503,503), w = c(56,56,56,56,56))
DF1 <- data.frame(V1 = c("A","B"), V2 = c("C", "D"))
DF <<- DF
DF1 <<- DF1
}
myfunc()
Run Code Online (Sandbox Code Playgroud)
其实很简单。只需考虑环境并分配给.GlobalEnv.
myfunc <- function() {
DF <- data.frame(q = c(503,503,503,503,503), w = c(56,56,56,56,56))
DF1 <- data.frame(V1 = c("A","B"), V2 = c("C", "D"))
.GlobalEnv$DF <- DF
.GlobalEnv$DF1 <- DF1
}
# only run this if needed
#rm(DF, DF1)
myfunc()
ls(pattern = "DF")
#[1] "DF" "DF1"
Run Code Online (Sandbox Code Playgroud)
并且没有必要<<-。
| 归档时间: |
|
| 查看次数: |
2933 次 |
| 最近记录: |