-1

FactoMineR を使用して PCA を実行していますが、個人因子マップでラベル付けされた個々のポイントを取得できないようです。私のデータセット ("ExData.csv") には、13 行 (A から M のラベル) と 10 列 (N から W のラベル) のマトリックスの値が含まれています。私は以下を実行しています:

mydata <- read.csv("ExData.csv",header=TRUE,row.names=1)
attach(mydata)

library(FactoMineR)
X <- cbind(N,O,P,Q,R,S,T,U,V,W)
res.pca <- PCA(X)

PCA を実行すると、A から M までではなく、1 から 13 までのラベルが付けられたポイントを持つ個人ファクター マップ (PCA) が得られます。

個人因子マップ (PCA) プロットの個々の点を適切にラベル付けするにはどうすればよいですか (つまり、A から J)。

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

1

問題は、マトリックスXに列名はあるが行名がないことです。したがって、列ラベルは PCA プロットに表示されますが、行名の代わりに、プロット内の観測の識別として行インデックスを取得するだけです。

次に例を示します。

#install.packages("FactoMineR")
library(FactoMineR)
set.seed(1)

df <- data.frame(matrix(runif(13 * 10),
                        nrow = 13,
                        ncol = 10,
                        dimnames = list(LETTERS[1:13], LETTERS[14:23])))

attach(df)
X <- cbind(N, O, P, Q, R, S, T, U, V, W)

この時点rownames(X)ではNULLPCA(X)行インデックスのみを使用して、プロット内の観測を識別できます。

Xこれを修正するには、に渡される行列に行名を追加するだけですPCA()

# restore row names
rownames(X) <- rownames(df)   # or something similar in your actual program
res.pca <- PCA(X)

結果は次のようになります。

ここに画像の説明を入力 ここに画像の説明を入力

于 2015-10-05T19:12:37.053 に答える