最初の2つの主成分を計算するために関数prcomp
を使用しています。ただし、データにNA値が含まれているため、関数がエラーをスローします。定義されているna.actionは、ヘルプファイル?prcomp
に記載されているにもかかわらず機能しないようです。
これが私の例です:
d <- data.frame(V1 = sample(1:100, 10), V2 = sample(1:100, 10))
prcomp(d, center = TRUE, scale = TRUE, na.action = na.omit)
d$V1[5] <- NA
d$V2[7] <- NA
prcomp(d, center = TRUE, scale = TRUE, na.action = na.omit)
Mac OS X用の最新のRバージョン2.15.1を使用しています。
prcomp
が失敗する間、誰かが理由を見ることができますか?
これが私の新しい例です:
d <- data.frame(V1 = sample(1:100, 10), V2 = sample(1:100, 10))
result <- prcomp(d, center = TRUE, scale = TRUE, na.action = na.omit)
result$x
d$V1[5] <- NA
result <- prcomp(~V1+V2, data=d, center = TRUE, scale = TRUE, na.action = na.omit)
result$x
pC1とPC2で行5を保持することは可能ですか?私の実際のデータセットにはもちろん3列以上の変数があり、欠落しているのはそのうちのいくつかだけで、他の値に隠されている残りの情報を失いたくない!
式インターフェースを使用したくない場合の別の解決策は、
prcomp(na.omit(d), center = TRUE, scale = TRUE)
na.omit
データフレームに直接。
ええ、それは「機能」(バグ)のように見えますna.action
は、formula
インターフェイスを使用しない限り完全に無視されます。これは R開発リストで以前に取り上げられた です。
これは文書化するか、バグとして報告する必要があると思います。
明確にするために、これは数式インターフェイスにアクセスするため機能します。
prcomp(~V1+V2, data=d, center = TRUE, scale = TRUE, na.action = na.omit)