Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 因子终止符:MFA分析错误“;'中的值无限或缺失;x'&引用;_R_Error Handling_Pca_Na_Missing Data - Fatal编程技术网

R 因子终止符:MFA分析错误“;'中的值无限或缺失;x'&引用;

R 因子终止符:MFA分析错误“;'中的值无限或缺失;x'&引用;,r,error-handling,pca,na,missing-data,R,Error Handling,Pca,Na,Missing Data,我正试图对最终的数据框架进行MFA分析,分析4个研究物种的所有信息 library(FactoMineR) ff <- final_frame ff <- ff[, colSums(is.na(ff)) != nrow(ff)] #making sure there are no missing values for (i in 1: (d+2)) # d is the number of characters columns. Turning all categorical in

我正试图对最终的数据框架进行MFA分析,分析4个研究物种的所有信息

library(FactoMineR)

ff <- final_frame
ff <- ff[, colSums(is.na(ff)) != nrow(ff)] #making sure there are no missing values
for (i in 1: (d+2)) # d is the number of characters columns. Turning all categorical input into factors
{
ff[,i] <- as.factor(final_frame[,i])
}
dim<- dim(ff)[2] - maxPredict*2 - d -2
res = MFA(ff[,2:dim(ff)[2]], group=c(1, d, maxPredict*2, dim), type=c("n", "n" ,"s", "s"), ncp=2, name.group=c("hyp.species", "characters", "morphometrics", "climatic"))
plot(res,choix="ind",partial="all")
这很奇怪,因为我的数据帧不包含任何无限或NA值

> ff
      cur_species hyp_species Character1 Character2        X1         X2 X1.1
1103A           0           2          0          0 0.6647259 0.05703327 1139
1103B           0           0          0          0 0.6647259 0.05703327 1183
1103C           1           1          1          1 0.6647259 0.05703327 1196
1103D           2           1          2          1 0.6647259 0.05703327 1160
           X2.1
1103A -0.383871
1103B -4.183870
1103C  0.320000
1103D  1.845160
我甚至用str(ff)和许多其他函数检查了它。没有缺少的值

> str(ff)
'data.frame':   4 obs. of  8 variables:
 $ cur_species: Factor w/ 3 levels "0","1","2": 1 1 2 3
 $ hyp_species: Factor w/ 3 levels "0","1","2": 3 1 2 2
 $ Character1 : Factor w/ 3 levels "0","1","2": 1 1 2 3
 $ Character2 : Factor w/ 2 levels "0","1": 1 1 2 2
 $ X1         : num  0.665 0.665 0.665 0.665
 $ X2         : num  0.057 0.057 0.057 0.057
 $ X1.1       : num  1139 1183 1196 1160
 $ X2.1       : num  -0.384 -4.184 0.32 1.845
我已经花了好几天的时间检查整个脚本,并试图找出哪里出了问题,但我仍然不知道如何使它工作。最奇怪的是,相同的脚本可以完美地用于更大的40个样本数据帧,其中实际上包含NA

> str(ff)
'data.frame':   40 obs. of  16 variables:
 $ cur_species: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ hyp_species: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ Character1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ Character2 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ X1         : num  NA 0.665 0.665 NA NA ...
 $ X2         : num  NA -0.00142 -0.00142 NA NA ...
 $ X3         : num  NA 0.00232 0.00232 NA NA ...
 $ X4         : num  NA 0.057 0.057 NA NA ...
 $ X5         : num  NA 0.0479 0.0479 NA NA ...
 $ X6         : num  NA 0.0487 0.0487 NA NA ...
 $ X1.1       : num  1550 1718 1718 NA NA ...
 $ X2.1       : num  218 209 209 NA NA ...
 $ X3.1       : num  197 193 193 NA NA ...
 $ X4.1       : num  0.199 0.104 0.104 NA NA ...
 $ X5.1       : num  1.03 1.12 1.12 NA NA ...
 $ X6.1       : num  11.9 13.5 13.5 NA NA ...
有没有人知道是什么导致了这个问题,以及如何解决这个问题?我将非常感谢任何帮助

旁白:对不起,我必须让它重现。在这里您可以下载final_frame.csv-


final_frame以复制/粘贴友好的格式提供示例输入数据更容易。我不太熟悉MFA分析,但这可能是因为数据中有零方差列吗?这些数据无法提供,需要删除。以便于复制/粘贴的格式提供示例输入数据更容易。我不太熟悉MFA分析,但这可能是因为数据中有零方差列吗?这些不能起作用,需要删除。
> str(ff)
'data.frame':   40 obs. of  16 variables:
 $ cur_species: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ hyp_species: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ Character1 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ Character2 : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
 $ X1         : num  NA 0.665 0.665 NA NA ...
 $ X2         : num  NA -0.00142 -0.00142 NA NA ...
 $ X3         : num  NA 0.00232 0.00232 NA NA ...
 $ X4         : num  NA 0.057 0.057 NA NA ...
 $ X5         : num  NA 0.0479 0.0479 NA NA ...
 $ X6         : num  NA 0.0487 0.0487 NA NA ...
 $ X1.1       : num  1550 1718 1718 NA NA ...
 $ X2.1       : num  218 209 209 NA NA ...
 $ X3.1       : num  197 193 193 NA NA ...
 $ X4.1       : num  0.199 0.104 0.104 NA NA ...
 $ X5.1       : num  1.03 1.12 1.12 NA NA ...
 $ X6.1       : num  11.9 13.5 13.5 NA NA ...
final_frame <- read.csv("final_frame.csv", header = T, sep=",", row.names = 1)
d<- 2
maxPredict<- 1
maxPredict <- 3
d <- 2