R 用方差分析或其他检验方法对两组进行多变量比较

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

现在正在写我的硕士论文。我有两组:照常洗澡和冷水淋浴。变量包括年龄、性别、体重、心理健康、生理健康、睡眠质量、运动行为、皮肤质地、淋浴行为等

主管(数据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 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,好的,我编辑了答案。看看它现在是否有意义