如何解决PCA 中的错误表,quanti.sup =,图形 = FALSE:以下变量不是定量的
我正在做 PCA,我使用以下命令来做到这一点:
res.table=PCA(table,quanti.sup=1:5,graph=FALSE)
但我收到以下错误:
Error in PCA(EAUX,quanti.sup = 1:5,graph = FALSE) :
The following variables are not quantitative: NOM
The following variables are not quantitative: ACRO
The following variables are not quantitative: PAYS
The following variables are not quantitative: TYPE
The following variables are not quantitative: PG
dput(head(table)) :
structure(list(NOM = c("Evian","Montagne des Pyrenees","Cristaline-St-Cyr","Fiee des Lois","Volcania","Saint Diery"),ACRO = c("EVIAN","MTPYR","CRIST","FIEE","VOLCA","STDIE"),PAYS = c("F","F","F"),TYPE = c("M","S","M"),PG = c("P","P","G"),CA = c(78,48,71,89,4.1,85),MG = c(24,11,5.5,31,1.7,80),`NA` = c(5,34,11.2,17,2.7,385),K = c(1,1,3.2,2,0.9,65),SUL = c(10,16,5,47,1.1,25),NO3 = c(3.8,4,0.8,1.9),HCO3 = c(357,183,250,360,25.8,1350),CL = c(4.5,50,20,28,285),MOY = c(60.41,43.38,45.86,71.75,4.75,284.61)),row.names = c(NA,-6L),class = c("tbl_df","tbl","data.frame"))
谢谢
解决方法
此代码应用于您发送的示例数据集:
library(fastDummies)
table <- data.frame(NOM = c("Evian","Montagne des Pyrenees","Cristaline-St-Cyr","Fiee des Lois","Volcania","Saint Diery"),ACRO = c("EVIAN","MTPYR","CRIST","FIEE","VOLCA","STDIE"),PAYS = c("F","F","F"),TYPE = c("M","S","M"),PG = c("P","P","G"),CA = c(78,48,71,89,4.1,85),MG = c(24,11,5.5,31,1.7,80),`NA` = c(5,34,11.2,17,2.7,385),K = c(1,1,3.2,2,0.9,65),SUL = c(10,16,5,47,1.1,25),NO3 = c(3.8,4,0.8,1.9),HCO3 = c(357,183,250,360,25.8,1350),CL = c(4.5,50,20,28,285),MOY = c(60.41,43.38,45.86,71.75,4.75,284.61),stringsAsFactors = TRUE)
table_conv <- dummy_cols(table,select_columns = c("NOM","ACRO","PAYS","TYPE","PG"),remove_selected_columns = TRUE)
pca <- prcomp(as.matrix(table_conv))
pca
首先,将分类变量转换为数字的一种简单方法是热编码。您可以使用库 fastDummies。
转换后,您可以使用 R 中的 prcomp
函数应用 PCA。由于 prcomp 使用矩阵,因此您必须先转换它。
Standard deviations (1,..,p=6):
[1] 5.168512e+02 5.385374e+01 1.796098e+01 1.134412e+01 3.412325e+00 3.841269e-14
Rotation (n x k) = (26 x 6):
PC1 PC2 PC3 PC4
CA 3.406007e-02 0.4583258631 -0.449804772 0.583419015
MG 5.452648e-02 0.0567007399 -0.120337337 -0.431460022
NA. 2.857387e-01 -0.6581371706 -0.015607808 -0.028124352
K 4.881587e-02 -0.1004287315 0.078457844 -0.025483654
SUL 1.165818e-02 0.1358452663 -0.676545259 -0.582029743
NO3 6.980208e-05 -0.0009273267 0.013738946 0.056474181
HCO3 9.122393e-01 0.3046381925 0.184652450 -0.053887132
CL 2.046765e-01 -0.4804253636 -0.498672171 0.351834600
MOY 1.939708e-01 -0.0355753827 -0.185620957 -0.016150352
NOM_Cristaline-St-Cyr -1.441857e-04 0.0010557813 0.003263708 0.026324720
NOM_Evian -7.179722e-05 0.0044191573 0.013208312 -0.001548583
NOM_Fiee des Lois -6.100869e-05 0.0038456894 -0.014279448 -0.018364975
NOM_Montagne des Pyrenees -1.811771e-04 -0.0029622537 -0.012327470 0.013222722
NOM_Saint Diery 7.681733e-04 -0.0016729014 0.001350556 -0.001045186
NOM_Volcania -3.100046e-04 -0.0046854729 0.008784342 -0.018588698
ACRO_CRIST -1.441857e-04 0.0010557813 0.003263708 0.026324720
ACRO_EVIAN -7.179722e-05 0.0044191573 0.013208312 -0.001548583
ACRO_FIEE -6.100869e-05 0.0038456894 -0.014279448 -0.018364975
ACRO_MTPYR -1.811771e-04 -0.0029622537 -0.012327470 0.013222722
ACRO_STDIE 7.681733e-04 -0.0016729014 0.001350556 -0.001045186
ACRO_VOLCA -3.100046e-04 -0.0046854729 0.008784342 -0.018588698
PAYS_F 0.000000e+00 0.0000000000 0.000000000 0.000000000
TYPE_M 6.963761e-04 0.0027462560 0.014558868 -0.002593769
TYPE_S -6.963761e-04 -0.0027462560 -0.014558868 0.002593769
PG_G 7.681733e-04 -0.0016729014 0.001350556 -0.001045186
PG_P -7.681733e-04 0.0016729014 -0.001350556 0.001045186
PC5 PC6
CA -0.117348632 0.135395809
MG 0.564075505 0.597488041
NA. -0.240227688 -0.095918767
K -0.452908211 0.420830725
SUL -0.283494587 -0.290154729
NO3 0.440026805 -0.480971856
HCO3 0.001376105 -0.077751617
CL 0.297037810 0.102927429
MOY 0.026458834 0.119000634
NOM_Cristaline-St-Cyr -0.074866123 0.150502225
NOM_Evian 0.066867097 -0.097960878
NOM_Fiee des Lois -0.034173834 0.021559689
NOM_Montagne des Pyrenees 0.072334607 -0.062871374
NOM_Saint Diery -0.004010064 0.001954674
NOM_Volcania -0.026151683 -0.009820343
ACRO_CRIST -0.074866123 0.150502225
ACRO_EVIAN 0.066867097 -0.097960878
ACRO_FIEE -0.034173834 0.021559689
ACRO_MTPYR 0.072334607 -0.062871374
ACRO_STDIE -0.004010064 0.001954674
ACRO_VOLCA -0.026151683 -0.009820343
PAYS_F 0.000000000 0.000000000
TYPE_M 0.062857033 -0.094621030
TYPE_S -0.062857033 0.097787141
PG_G -0.004010064 0.001954674
PG_P 0.004010064 -0.001822753
这里有虚拟转换和 PCA。相应地应用于您的数据。建议不要将您的列命名为 NA。这是一个保留名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。