我找不到任何关于如何做到这一点。我想在一个单独的环境中在R中执行一组分析。例如:
n.e <- new.env()
n.e$df <- mtcars[mtcars$cyl == 6,]
n.e$avg_mpg <- mean(n.e$df$mpg)
n.e$median_qsec <- median(n.e$df$qsec)
实际的计算并不重要,但关键是用n.e$
开始一切都很麻烦。如果有某种方式专门在环境n.e
中工作,例如:
n.e <- new.env()
workwithinenvironment(n.e){
df <- mtcars[mtcars$cyl == 6,]
avg_mpg <- mean(df$mpg)
median_qsec <- median(df$qsec)
}
哪一个会以相同的结果结束,但我无法一遍又一遍地写n.e$
。
答案 0 :(得分:3)
一种可能性是使用with()
,其(如其帮助页面所述)将接受环境作为其第一个参数。
n.e <- new.env()
with(n.e, {
df <- mtcars[mtcars$cyl == 6,]
avg_mpg <- mean(df$mpg)
median_qsec <- median(df$qsec)
})
## Check that it works
ls(n.e)
## [1] "avg_mpg" "df" "median_qsec"
n.e$avg_mpg
## [1] 19.74286