Вам может не потребоваться выполнять какие-либо преобразования: типы данных фактора и символа принимаются 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