2016-09-25 8 views
-1

私は2つの変数cor(dataframe$x,dataframe$y)の間の相関関係を見つける必要がある状況にあります。x, yは列名で、dataframeはデータフレームです。私のデータフレーム内の列の1つが指標関数(0と1)です。cor()のRの特定の要素を選択

xの値とyの対応する値を2つの別々のグループ(0と1)でどのように比較できるのでしょうか。私はRの新機能ですから、cor()機能に組み込まれている機能があるのか​​、x'sy'sというデータフレーム/アレイを再構築して、別々のグループの相関関係を見つけなければならないのだろうかと思います。

これらの関数の下でRでベクトル、配列、およびデータフレームを使うことの違いは何ですか(つまり、cor()t.test()、等。)?

+0

おそらく意味 'データフレーム$ x'と 'データフレーム$ y' – Pieter

+0

ああ、右 - タイプミス。ええ、そうです。しかしそれ以外に、どうすれば私の問題を解決できるか知っていますか? – wowdavers

答えて

1

インジケータ列で指定された行のサブセットで相関を計算できます。サブセットを選択するには、dataframe[logical_index,]を使用します。ここで、logical_indexはブール値のベクトルです(Rは論理値)。これを行うには、指標をブール値に変換する必要があります。

logical_index <- as.logical(dataframe$indicator) 
cor(dataframe[logical_index,]$x, dataframe[logical_index,]$y) 
cor(dataframe[!logical_index,]$x, dataframe[!logical_index,]$y) 

ベクトル、マトリックス、配列、リストやデータフレームの違いに明確かつ相対的な容易な導入は高度なRにハドレーで与えられる全てのR. Aの異なるプリミティブ型です:http://adv-r.had.co.nz/Data-structures.html

+0

完了 - 'indicator 'をTRUEとFALSEに変換しました。確認するために、あなたが列挙した 'cor()'コードは 'x'と' y'の相関を2回与えます:** '' TRUE''値に対してのみ、** ** 'FALSE'値。 – wowdavers

+0

そうです。最初の呼び出しは、 'indicator'カラムが' TRUE'である行に対して相関を与えます。 2番目の呼び出しは、 'indicator'カラムが' FALSE'の行に対して相関を与えます。 – Pieter

+0

素晴らしい - ありがとう!私が電話をするとき、私は通常得られる詳細な出力は得られません(その出力は元の投稿に追加されています)。理由は何ですか? – wowdavers