我有一个包含100个输入的数据集,它们被称为X或Y.我正在尝试使用anova函数将这些分类X和Y与一个定量变量(长度)进行比较。如何将分类变量转换为定量变量?谢谢
答案 0 :(得分:4)
您可能不需要进行任何转换:lm和anova()接受因子和字符数据类型。你可能正在考虑用于平衡设计的aov。 lm是处理不平衡线性模型的回归函数。
> set.seed(123)
> typ <- sample(c("X", "Y"), 100, prob=c(1,2)/3, replace=TRUE)
> num <- rnorm(100) + (typ=="Y")
> dfrm <- data.frame(num =num, typ =typ)
> fit<-lm(num~typ, data=dfrm)
> anova(fit)
Analysis of Variance Table
Response: num
Df Sum Sq Mean Sq F value Pr(>F)
typ 1 21.422 21.4225 22.787 6.331e-06 ***
Residuals 98 92.133 0.9401
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> fit
Call:
lm(formula = num ~ typ, data = dfrm)
Coefficients:
(Intercept) typY
-0.04325 0.98433