如何解决:“ CA(dt,graph = FALSE)中的错误:以下变量不是定量的Var1”

时间:2019-09-24 11:58:16

标签: r correspondence-analysis

我正在尝试在R中使用对应分析。似乎FactoMineR中的函数“ CA”的第一个参数必须是列联表。 “ dt”是一个列联表,但它返回的变量不是定量的。

X1的一个级别为空,我不知道这是否是对应分析中的问题

library("FactoMineR")
tab1 <- table(as.factor(df$X1),as.factor(df$X2))
dt <- as.table(as.matrix(tab1))
res.ca <- CA(dt, graph = FALSE)

输出为:

Error in CA(tab1, graph = FALSE) : 
The following variables are not quantitative:  Var1
The following variables are not quantitative:  Var2

1 个答案:

答案 0 :(得分:0)

您必须先使用tab1as.data.frame.matrix()转换为数据帧,然后再将其传递给CA函数。

library("FactoMineR")
tab1 <- as.data.frame.matrix(table(as.factor(df$X1),as.factor(df$X2)))
res.ca <- CA(tab1, graph = FALSE)

样本数据:

df <- data.frame(X1=as.factor(c(1:101)),X2=as.factor(c(seq(0,100,1))))