1

データが欠落しているベクトルについて、R で主成分分析を行っています。主成分からスコアを抽出し、元のフレームで欠落していない観測値と値を一致させたいのですが、正しい識別子を抽出して一致させる方法がわかりません。例えば:

x1 <- c(1,2,3,NA, 5,6,7)
x2 <- c(7,NA,6,NA, 4,3,2)

frame <- cbind(x1,x2)

pca_ob<- princomp(~frame)
pca_ob$score[,1]

これにより、次の出力が生成されます。

    1         3         5         6         7 
  4.273146  2.104705 -0.715732 -2.125950 -3.536168 

識別子に基づいて pca_ob$score[,1] を元のフレームにバインドし、残りを NA で埋めて、次の行列が生成されるようにしたいと思います。

    x1 x2 x3
1    1  7  4.273146
2    2  NA NA
3    3  6  2.104705
4    NA NA NA
5    5  4  -0.715732
6    6  3  -2.125950
7    7  2  -3.536168

これは、スコアの最初のセットの出力を取得し、それらをフレームに戻して、PCA スコアがないすべてのスポットを埋め、スコアがある変数に一致する NA で一致させます。何か考えはありますか? ありがとう。

4

2 に答える 2