(R)获得两个不同变量的“可变长度不同”

问题描述 投票:0回答:1

我从调查中创建了两个分别称为“ low.income”“ mid.income”的变量,它们是基于参与者收入获得的变量。在这里,您可以看到变量的样子:

low.income = 75  95  85 100  85 100  85  90  75  90  65  80  85  90  85  70  95  85 100  95  85  95  90  95  95

中等收入= 95 100 90 90 85 95 100 95 80

但是当尝试调用aov(low.income~mid.income)时,会给我model.frame.default(formula = low.income〜mid.income,drop.unused.levels = TRUE)中的错误:可变长度有所不同(可找到“ mid.income”)

所以,我该怎么办?

r dataset anova
1个回答
0
投票

这是不正确的,我认为您正在寻找t.test

 t.test(low.income, mid.income, var.equal = TRUE)

要使用公式方法,您必须创建一个带有级别和收入的数据框。它应如下所示:

 data <-  data.frame(level = rep(paste0(c("low","mid"),".income"),c(25,9)), income = c(low.income,mid.income))

       level income
1 low.income     75
2 low.income     95
3 low.income     85
4 low.income    100
5 low.income     85
6 low.income    100
:    :           :
29 mid.income     90
30 mid.income     85
31 mid.income     95
32 mid.income    100
33 mid.income     95
34 mid.income     80

现在您可以做:

t.test(income~level,data,var.equal = TRUE)

好,因为您使用的是aov,所以我将给您一个示例,说明如何执行此操作:

aov(income~level,data)

这两个将导致完全相同的结果。您可以运行TukeyHSD以查看结果是否相同。

注意:只有两个以上的组才能运行ANOVA。如果只有2个组,请运行t.test。回想一下ANOVAt.test

的概括
© www.soinside.com 2019 - 2024. All rights reserved.