(R) 为两个不同的变量获取 "variable length differ"
(R) Getting "variable length differ" for two different variable
我从调查中创建了两个名为"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
mid.income = 95 100 90 90 85 95 100 95 80
但是当尝试调用 aov(low.income~mid.income)
时它给我 Error in model.frame.default(formula = low.income ~ mid.income, drop.unused.levels =真):
可变长度不同(找到 'mid.income')
那么,我该怎么办?
这是不正确的,我认为您正在寻找 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
看看结果是一样的
注意:当您有 2 个以上的组时,您只能 运行 方差分析。如果你只有 2 个组,运行 一个 t.test
。回想一下 ANOVA
是 t.test
的概括
我从调查中创建了两个名为"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
mid.income = 95 100 90 90 85 95 100 95 80
但是当尝试调用 aov(low.income~mid.income)
时它给我 Error in model.frame.default(formula = low.income ~ mid.income, drop.unused.levels =真):
可变长度不同(找到 'mid.income')
那么,我该怎么办?
这是不正确的,我认为您正在寻找 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
看看结果是一样的
注意:当您有 2 个以上的组时,您只能 运行 方差分析。如果你只有 2 个组,运行 一个 t.test
。回想一下 ANOVA
是 t.test