2017-09-08 89 views
2

我找不到任何有關如何做到這一點。我想在一個單獨的環境中在R中執行一組分析。例如:如何在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$

回答

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 
+0

這是完美的,謝謝! – s460

相關問題