R 用方差分析或其他检验方法对两组进行多变量比较
现在正在写我的硕士论文。我有两组:照常洗澡和冷水淋浴。变量包括年龄、性别、体重、心理健康、生理健康、睡眠质量、运动行为、皮肤质地、淋浴行为等 主管(数据1)R 用方差分析或其他检验方法对两组进行多变量比较,r,comparison,anova,R,Comparison,Anova,现在正在写我的硕士论文。我有两组:照常洗澡和冷水淋浴。变量包括年龄、性别、体重、心理健康、生理健康、睡眠质量、运动行为、皮肤质地、淋浴行为等 主管(数据1) code Gruppe StudentBasel Alter Grösse Gewicht0W Gewicht12W 1匝12 2 Ja 50 159 70 72 2 AMMN17 1 Nein 26 164 52 50 3 LKPG08 2内19 167 54 NA 4 LJRn05 2 Nein 22 180 60 NA 5 AGBD0
code Gruppe StudentBasel Alter Grösse Gewicht0W Gewicht12W
1匝12 2 Ja 50 159 70 72
2 AMMN17 1 Nein 26 164 52 50
3 LKPG08 2内19 167 54 NA
4 LJRn05 2 Nein 22 180 60 NA
5 AGBD08 1 Nein 24 165 49 NA
6 IUGH20 2 Nein 32 168 54 NA
Geschlecht WHO1W WHO4W WHO8W WHO12W FEW1W FEW4W FEW8W FEW12W
1 w 6 21 24 25 87 70 80 75
2 w 24 22 25 22 77 78 83 74
3 w 16 NA NA 65 NA NA NA
4 w 19 NA NA 61 NA NA NA
5 w 23 18 22 NA 61 56 NA
6 w 22 NA NA 66 NA NA NA
SchlafA1W SchlafA4W SchlafA8W SchlafA12W SchlafWT1W SchlafWT4W
1 32 25 25 30 49 32
2 35 31 35 28 46 43
3 28 NA NA 31 NA
4 23 NA NA 32 NA
527282626534
6 27 NA NA 41 NA
所以。我有两组数据,分别来自第4周、第8周和第12周。我想在第4周用平均数对各组进行比较。由于我没有考虑到一些错误,所以没有建议对每个变量运行t-tests。所以我想,我会用这样的方差分析
CSSAUW4示例数据:
set.seed(100)
data1 = data.frame(
Code =sample(letters,100,replace=TRUE),
Gruppe=sample(1:2,100,replace=TRUE),
matrix(rpois(100*11,100),nrow=100))
colnames(data1)[-c(1:2)] = c("StudentBasel","Alter","Grösse",
"WHO1W","WHO4W","WHO8W","WHO12W","FEW1W","FEW4W","FEW8W","FEW12W")
您可以选择要测试的列:
test_columns = c("WHO4W","WHO8W","WHO12W")
library(tidyr)
library(dplyr)
library(broom)
data1 %>%
select(c("Gruppe",test_columns)) %>%
pivot_longer(-Gruppe)
# A tibble: 300 x 3
Gruppe name value
<int> <chr> <int>
1 2 WHO4W 97
2 2 WHO8W 91
3 2 WHO12W 93
4 1 WHO4W 99
5 1 WHO8W 103
6 1 WHO12W 92
7 2 WHO4W 91
8 2 WHO8W 111
9 2 WHO12W 120
10 1 WHO4W 119
# … with 290 more rows
因此,如果您只想一起测试,比如说4、8和12,那么对于WHO4系列,您确实需要,select命令基本上会选择要测试的列:
test_columns = c("WHO4W","WHO8W","WHO12W")
library(tidyr)
library(dplyr)
library(broom)
data1 %>%
select(c("Gruppe",test_columns)) %>%
pivot_longer(-Gruppe)
# A tibble: 300 x 3
Gruppe name value
<int> <chr> <int>
1 2 WHO4W 97
2 2 WHO8W 91
3 2 WHO12W 93
4 1 WHO4W 99
5 1 WHO8W 103
6 1 WHO12W 92
7 2 WHO4W 91
8 2 WHO8W 111
9 2 WHO12W 120
10 1 WHO4W 119
# … with 290 more rows
示例数据:
set.seed(100)
data1 = data.frame(
Code =sample(letters,100,replace=TRUE),
Gruppe=sample(1:2,100,replace=TRUE),
matrix(rpois(100*11,100),nrow=100))
colnames(data1)[-c(1:2)] = c("StudentBasel","Alter","Grösse",
"WHO1W","WHO4W","WHO8W","WHO12W","FEW1W","FEW4W","FEW8W","FEW12W")
您可以选择要测试的列:
test_columns = c("WHO4W","WHO8W","WHO12W")
library(tidyr)
library(dplyr)
library(broom)
data1 %>%
select(c("Gruppe",test_columns)) %>%
pivot_longer(-Gruppe)
# A tibble: 300 x 3
Gruppe name value
<int> <chr> <int>
1 2 WHO4W 97
2 2 WHO8W 91
3 2 WHO12W 93
4 1 WHO4W 99
5 1 WHO8W 103
6 1 WHO12W 92
7 2 WHO4W 91
8 2 WHO8W 111
9 2 WHO12W 120
10 1 WHO4W 119
# … with 290 more rows
因此,如果您只想一起测试,比如说4、8和12,那么对于WHO4系列,您确实需要,select命令基本上会选择要测试的列:
test_columns = c("WHO4W","WHO8W","WHO12W")
library(tidyr)
library(dplyr)
library(broom)
data1 %>%
select(c("Gruppe",test_columns)) %>%
pivot_longer(-Gruppe)
# A tibble: 300 x 3
Gruppe name value
<int> <chr> <int>
1 2 WHO4W 97
2 2 WHO8W 91
3 2 WHO12W 93
4 1 WHO4W 99
5 1 WHO8W 103
6 1 WHO12W 92
7 2 WHO4W 91
8 2 WHO8W 111
9 2 WHO12W 120
10 1 WHO4W 119
# … with 290 more rows
你的公式搞错了。因变量在左边,而不是右边。我可以用模拟数据在下面写一些东西,这可以让你开始。请把你的问题集中到1个问题上。一种按组比较所有变量的方法OK,那么假设按组比较WHO4W?将是aov(公式=WHO4W~Gruppe,数据=data1),对吗?但是我需要单独计算每个因变量。这也适用于第8周和第12周。难道没有更简单的方法吗?从统计学上讲,这样做正确吗?你的公式是错误的。因变量在左边,而不是右边。我可以用模拟数据在下面写一些东西,这可以让你开始。请把你的问题集中到1个问题上。一种按组比较所有变量的方法OK,那么假设按组比较WHO4W?将是aov(公式=WHO4W~Gruppe,数据=data1),对吗?但是我需要单独计算每个因变量。这也适用于第8周和第12周。难道没有更简单的方法吗?从统计上看,这样做正确吗?谢谢你的努力,但我恐怕不明白。在我的数据集中,什么代表aov_df?df是您的示例数据,我应该在这里插入我的数据。对于其余的部分,我不知道我需要修改什么才能使代码正常工作。第二行是将组改为因子,你能解释一下其他行吗?感谢you@ChristianDePierro,好的,我编辑了答案。现在看看是否有意义谢谢你的努力,但恐怕我不明白。在我的数据集中,什么代表aov_df?df是您的示例数据,我应该在这里插入我的数据。对于其余的部分,我不知道我需要修改什么才能使代码正常工作。第二行是将组改为因子,你能解释一下其他行吗?感谢you@ChristianDePierro,好的,我编辑了答案。看看它现在是否有意义