prcomp()
RでPCA(主成分分析)を実行するためにこの関数を使用しました。ただし、その関数にはバグがあり、na.action
パラメーターが機能しません。私はstackoverflowの助けを求めました。そこで2人のユーザーが、NA
値を処理する2つの異なる方法を提供しました。ただし、両方のソリューションの問題は、NA
値がある場合、その行が削除され、PCA分析で考慮されないことです。私の実際のデータセットは100 x 100のマトリックスであり、単一のNA
値が含まれているという理由だけで行全体を失いたくありません。
次の例はprcomp()
、NA
値が含まれているため、関数が行5の主成分を返さないことを示しています。
d <- data.frame(V1 = sample(1:100, 10), V2 = sample(1:100, 10),
V3 = 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
私が設定できる場合、私は思っていたNA
とき、具体的な数値に値をcenter
とscale
に設定されてTRUE
いるのでprcomp()
、関数作品や含む行は削除されませんNA
さんを、だけでなく、PCA分析の結果に影響しません。
NA
値を単一の列の中央値または0に非常に近い値に置き換えることを考えました。しかし、それがPCA分析にどのように影響するかはわかりません。
誰もがその問題を解決する良い方法を考えることができますか?
NA
値の意味を説明することです。「欠落」の原因は何ですか?