2011-09-16 8 views
17

私には、沢山の欠損値を持つ巨大な行列があります。私は変数間の相関を取得したい。相関計算に欠損値を扱う

下記より

cor(na.omit(matrix)) 

より良いソリューションですか?

cor(matrix, use = "pairwise.complete.obs") 

すでに欠損値の20%を超える変数のみを選択しました。

2.意味のある方法はどれですか?

答えて

12

私は第2の選択肢に投票します。あなたは欠けているデータがかなりあるように思えるので、スペースを埋めるために合理的な複数の帰属戦略を探しているでしょう。ハレルのテキスト "回帰モデリング戦略"を参照してください。

6

私は2番目のオプションは、より理にかなって、

あなたはHmiscパッケージにrcorr機能を使用して検討するかもしれないと思います。

非常に高速で、ペアワイズ完全観測のみが含まれます。 返されるオブジェクトは、これを使用することを意味

各相関各相関値p値の

  • ために使用される観察の数との相関スコアの

    1. マトリックスを含有します少数の観測(そのしきい値があなたのためのものであれ)に基づいて、またはp値に基づいて、相関値を無視することができます。将来の読者のために

      library(Hmisc) 
      x<-matrix(nrow=10,ncol=10,data=runif(100)) 
      x[x>0.5]<-NA 
      result<-rcorr(x) 
      result$r[result$n<5]<-0 # ignore less than five observations 
      result$r 
      
  • 関連する問題