2017-09-08 6 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$を記述することなく行うことができ
n.e <- new.env() 
workwithinenvironment(n.e){ 
    df <- mtcars[mtcars$cyl == 6,] 
    avg_mpg <- mean(df$mpg) 
    median_qsec <- median(df$qsec) 
} 

答えて

3

1つの可能性は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

関連する問題