私はRが初めてで、それを使用してPCAを実行する方法を理解しようとしています。これまでに 2 つの方法を試しましたが、どちらにも問題があります。
最初のコードは次のとおりです。
library('FactoMineR')
my.data.7 <- read.csv("Principal Component Analysis Input 2.csv", header=TRUE)
attach(my.data.7)
head(my.data.7)
PCA_result_2 <- PCA(my.data.7, scale.unit=TRUE, ncp=3, graph=TRUE)
result <- PCA_result_2$ind$coord
write.csv(result, file="PCA ind_coord 2.csv")
my.data.8 <- read.csv("Principal Component Analysis (second part) 2.csv")
attach(my.data.8)
head(my.data.8)
pc1 <- (my.data.8$Dim1)
pc2 <- (my.data.8$Dim2)
pc3 <- (my.data.8$Dim3)
acc <- (my.data.8$CDS)
colour <- (my.data.8$Root.skin.colour)
plot(pc1,pc3,col=c('black','yellow','orange','red','purple')[unclass(colour)],pch=19)
プロット出力は次のとおりです: Dim1, Dim3 プロット
これに関する私の問題は、1) 色が正しく割り当てられていることをどのように知るか、2) 楕円を追加する方法です。
これが私の2番目の方法のコードです(このWebサイトをヘルプに使用しましたが、まだ行き詰まっています):
install.packages("devtools")
library(devtools)
install_github("fawda123/ggord")
library(ggord)
library('FactoMineR')
my.data.9 <- read.csv("hello.csv")
attach(my.data.9)
head(my.data.9)
woo <- PCA(my.data.9[,2:5], scale.unit=TRUE, ncp=3, graph=TRUE)
ggord(woo, my.data.9$Root.skin.colour)
プロット: Dim1、Dim2 プロット
ここでの問題は、1 次元と 2 次元ではなく、以前のように 1 次元と 3 次元をプロットしたいのですが、指定方法がわからないことです。また、色を変更する方法がわかりません。
これは正しい方向に向かっているように見えますか? 可能であれば、これについて何か助けていただければ幸いです。私は自分が何をしているのか見当もつかないし、執筆に取り組んでいることになっているが、まだ分析に行き詰まっていない. また、ファイル名が「hello」など変な名前になっていて、イライラしていました。
お伺いした情報はこちら
> dput(my.data.8)
structure(list(CDS = structure(1:69, .Label = c("CDS010", "CDS011",
"CDS012", "CDS013", "CDS015", "CDS016", "CDS017", "CDS019", "CDS020",
"CDS021", "CDS022", "CDS023", "CDS024", "CDS027", "CDS028", "CDS029",
"CDS030", "CDS031", "CDS032", "CDS033", "CDS034", "CDS035", "CDS036",
"CDS037", "CDS038", "CDS039", "CDS040", "CDS042", "CDS043", "CDS044",
"CDS045", "CDS046", "CDS047", "CDS048", "CDS049", "CDS050", "CDS051",
"CDS052", "CDS053", "CDS054", "CDS056", "CDS058", "CDS059", "CDS060",
"CDS061", "CDS062", "CDS064", "CDS066", "CDS067", "CDS068", "CDS070",
"CDS072", "CDS073", "CDS075", "CDS076", "CDS078", "CDS079", "CDS080",
"CDS081", "CDS082", "CDS083", "CDS084", "CDS085", "CDS086", "CDS087",
"CDS089", "CDS090", "CDS091", "CDS092"), class = "factor"), Dim1 = c(0.989923706,
1.002847033, -0.323384931, 0.0280602, -2.103144589, -1.1750233,
-0.297369615, -1.285073349, -1.18724867, -2.440381033, 2.451488481,
0.432753586, -0.324628407, 1.83987238, 1.082150477, 1.222767528,
0.648419317, 1.17034895, -0.959949524, 0.405826882, 3.578749912,
1.315904789, -0.69599653, -2.650500936, 2.847954059, -1.124700789,
-1.345309845, -1.571390397, 0.808331242, -0.126459344, 1.978484169,
-0.372882529, -1.941508494, -1.895565455, -2.308079318, -2.734023717,
-3.326982705, -0.62297258, 0.4400687, 0.878134622, -0.143118506,
2.902361971, 1.852738657, 1.318157841, 1.525866109, 0.527018259,
-2.17646324, -0.938267968, -0.663267011, -1.626999833, -0.725444227,
4.181058153, -1.663567082, -0.797809065, -0.660857937, 1.275243335,
-1.246799754, -0.658948097, 3.148052501, 1.22737428, 5.770370659,
-0.659363823, 0.201377447, -0.250249239, -3.29492153, -2.525333499,
0.451643578, -2.285229864, -2.05602107), Dim2 = c(0.114080736,
0.189737473, 0.289738365, 0.15686147, -0.65967629, -0.618998916,
0.752658445, -0.187202662, 0.601081452, -0.488843082, -0.461435771,
0.376119902, 0.054640472, -0.352416385, -0.61155099, 0.287520862,
2.072955276, 1.368287549, -1.598022058, -2.35115053, 0.362478564,
-1.16829247, -1.161712522, 0.193574061, 0.582209805, 0.090423462,
0.272987178, 0.762263319, 0.164563899, 1.271976678, 2.169652432,
-0.304444502, 0.333864962, 0.086432067, 0.03375057, 0.42547905,
-0.332663346, 0.230207958, 0.416122611, 0.807386059, -0.622165091,
0.688807153, -0.419360229, -0.024587973, 0.099352776, 0.593489815,
-0.571526951, -0.587510558, 1.141107254, 0.341089899, -0.234002113,
-0.675011549, 0.523417802, 0.570074523, -0.2595101, -0.537050791,
0.691005207, -0.259618613, -0.525167633, -0.181669151, -1.681387716,
0.150321845, 0.528057749, 0.704124706, -1.3872153, 0.22736727,
0.459455992, -0.278329399, -0.183119019), Dim3 = c(0.048353514,
-0.025653037, 0.014924755, -0.00167208, -0.060333422, 0.020764933,
0.043057079, 0.002591265, 0.02799806, -0.01339572, 0.292361681,
0.094879935, 0.020261073, -0.147776529, -0.09613908, 0.015407622,
0.505027604, -0.011850932, 0.162592304, 0.331023774, -0.276654985,
0.13868844, -0.000362491, -0.124098518, -0.03418057, 0.055507617,
-0.044387737, 0.08246021, -0.023457465, 0.070215547, 0.090226544,
0.13499154, -0.115205136, -0.012187001, 0.016720661, -0.112492876,
-0.156433429, 0.03202894, 0.064274887, -0.121235242, 0.014234763,
-0.167012976, -0.063685493, 0.045759055, -0.047058619, -0.113183437,
-0.077100994, 0.039550025, 0.003385481, 0.044618291, 0.025128582,
0.047673827, -0.112599294, -0.096384527, 0.031407524, 0.095437746,
0.037062126, 0.026957783, -0.181217407, 0.411980154, -0.189412218,
-0.042853115, 0.040207038, -0.040919986, -0.082645255, -0.148945175,
0.030315385, -0.094242334, -0.05746962), Root.skin.colour = structure(c(1L,
5L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 4L, 3L, 4L, 1L, 4L,
4L, 4L, 4L, 1L, 1L, 2L, 4L, 4L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 1L, 1L, 1L, 1L, 4L, 2L, 3L, 5L, 1L, 2L, 5L, 4L, 1L, 1L,
1L, 1L, 2L, 4L, 1L, 5L, 1L, 1L, 1L, 3L, 1L, 3L, 5L, 4L, 1L, 1L,
4L, 1L, 2L, 1L), .Label = c("Orange", "Purple", "Red", "White",
"Yellow"), class = "factor")), .Names = c("CDS", "Dim1", "Dim2",
"Dim3", "Root.skin.colour"), class = "data.frame", row.names = c(NA,
-69L))