2016-07-12 3 views
0

これはかなり単純な質問のようですが、私がRのプログラミングで新しい理由を見つけることができません。 私は最初のID列(患者ではなく治療済み)と代謝変数のいくつかの列で構成されたdfを持っています。 私は、最初の列と他のすべての変数とのスピアマン相関を作ることを可能にする簡単なスクリプトを書こうとしています。 apply(df、2、cor)のような "apply"関数を試してみましたが、うまくいきませんので、forループを使ってみるべきでしょう...どのように実行するのですか? ありがとうございましたR:データフレームの複数の列でcor.testを使用する

+1

COR 'のような何か(DF [1]、DFは、[ - 1])'働くかもしれないが、あなたのデータを知らなくても、それは確実に知ることは難しいです。 'apply(df、2、cor、x = df [、1])'も解決策かもしれません。 – etienne

+0

真...データの構造を知らずには分かりません。しかし、値を持つ列を切り離してから、適用(df [、colsWith.Values]、2、cor)を実行したいかもしれません。 –

+0

はい、あなたは正しい例を追加します申し訳ありません –

答えて

3

私はちょうど同様の質問hereに答えました。以下は簡単な要約です:

corrrパッケージをインストールしてください。次に、データフレーム変数correlate()と選択変数のfocus()を入力します。

install.packages("corrr") # though keep eye out for new version coming soon 
library(corrr) 
mtcars %>% correlate() %>% focus(mpg) 


#> rowname  mpg 
#>  <chr>  <dbl> 
#> 1  cyl -0.8521620 
#> 2  disp -0.8475514 
#> 3  hp -0.7761684 
#> 4  drat 0.6811719 
#> 5  wt -0.8676594 
#> 6  qsec 0.4186840 
#> 7  vs 0.6640389 
#> 8  am 0.5998324 
#> 9  gear 0.4802848 
#> 10 carb -0.5509251 

あなたは、パイプ演算子(%>%)に慣れていない場合は、あなたのようにコードを読むことができます:

ここ mtcarsデータフレームを使用して mpgは、他のすべての変数を持っていることを相関関係に焦点を当てた例です
focus(correlate(mtcars), mpg) 

または

x <- correlate(mtcars) 
focus(x, mpg) 
+0

ありがとうございます。どちらのバージョンであれ、このパッケージは "corrr"という名前で入手できます。3.2.2 –

+0

良いパッケージです - 最新のR(3.3.1)バージョンでのみ利用可能です。詳細はこちらをご覧ください:https://cran.rstudio.com/web/packages/corrr/index.html –

関連する問題