私には、沢山の欠損値を持つ巨大な行列があります。私は変数間の相関を取得したい。相関計算に欠損値を扱う
下記より
cor(na.omit(matrix))
より良いソリューションですか?
cor(matrix, use = "pairwise.complete.obs")
すでに欠損値の20%を超える変数のみを選択しました。
2.意味のある方法はどれですか?
私には、沢山の欠損値を持つ巨大な行列があります。私は変数間の相関を取得したい。相関計算に欠損値を扱う
下記より
cor(na.omit(matrix))
より良いソリューションですか?
cor(matrix, use = "pairwise.complete.obs")
すでに欠損値の20%を超える変数のみを選択しました。
2.意味のある方法はどれですか?
私は第2の選択肢に投票します。あなたは欠けているデータがかなりあるように思えるので、スペースを埋めるために合理的な複数の帰属戦略を探しているでしょう。ハレルのテキスト "回帰モデリング戦略"を参照してください。
私は2番目のオプションは、より理にかなって、
あなたはHmiscパッケージにrcorr機能を使用して検討するかもしれないと思います。
非常に高速で、ペアワイズ完全観測のみが含まれます。 返されるオブジェクトは、これを使用することを意味
各相関各相関値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
Pairwise-complete correlation considered dangerousはcor(matrix, use = "pairwise.complete.obs")
が危険とみなされると主張して、このようなuse = "complete.obs")
などの代替を示唆し、価値があります。