2016-09-21 13 views
0

したがって、 "mtcars"というRに組み込まれているデータセットを使用しています。私は変数 "MPG"と "HP"の間の相関テストをしようとしています。これは、これまでの私のコード...私はこれを行うと変数を自由に使用できるようにデータセットからグローバル環境に変数を設定する

data(mtcars,package = "datasets",envir = .GlobalEnv) 
new_hp = log10(hp) 
new_mpg = log10(mpg) 
plot(new_hp,new_mpg,xlab = "Log10(Horsepower)",ylab = "Log10(MPG)") 
abline(lm(new_mpg~new_hp)) 
cor.test(new_hp,new_mpg) 

は、コンソールは、変数HPとMPGが発見されていないことを私に伝えている(オブジェクト「変数名」が見つかりません)。したがって、後続のすべてのコードは、操作対象の定義済みオブジェクトがないために失敗します。 mtcarsデータセットの変数HPとMPGをグローバル環境にする必要がありますか?もしそうなら、どうしたらいいですか?

答えて

1

を、明示的にdata()を呼び出すための必要は一般的にありません。新しいRセッションを開始し、コンソールにmtcarsと入力するだけで、データが表示されます。これは、データの遅延ロード機能(それほど新しいものではない)によるものです。

コンソールで対話的に作業していて、mtcars$を繰り返し入力して特定の列を参照するのに疲れたら、良いツールはwithです。

たとえば、あなたが行う可能性があります:

with(mtcars,plot(log10(hp),log10(mpg),xlab = "Log10(Horsepower)",ylab = "Log10(MPG)")) 

また、あなたは、単に最初の変形バージョンを追加することができ、その後、直接それらを参照してください。

mtcars <- transform(mtcars,log_hp = log10(hp),log_mpg = log10(mpg)) 
with(mtcars,plot(log_hp,log_mpg,xlab = "Log10(Horsepower)",ylab = "Log10(MPG)")) 
+0

そしてもちろんプロットのといくつかの他の機能だが便利なデータ引数。 – Roland

1

あなたがnew_hpとnew_mpg

を定義するときにこれが動作するデータセットを参照していません:ビルトインmtcarsようなデータについては

new_hp = log10(mtcars$hp) 
new_mpg = log10(mtcars$mpg) 
関連する問題