如何获得 r 中多个组的平均 SD 和 P 值?
How to get Mean SD and Pvalue for multiple groups in r?
你好我所有的数据框看起来像
category calss test1 test2
1 Yes 5.5 4.2
1 No 5.8 4.3
1 Yes 6.6 3.2
2 Yes 6 7.7
2 No 5.7 5.8
3 No 9.7 4.5
3 Yes 6.8 8.5
2 No 6.3 9.6
3 Yes 8.5 2.6
我想分别根据 class 和类别计算(在 test1 和 test2 之间)的平均 SD 和 P 值
我使用 dplyr 计算均值和 SD,并努力计算 Pvalue,因为我的数据集包含 1000 行和 4 个不同的类别和 8 个 classes
这是我使用 dplyr 计算均值和 sd 后得到的结果
category class test1_Mean test1_SD test2_Mean test2_SD
1 Yes 6 1 3.7 1.1
1 No 5.8 0 4.3 0
2 Yes 9.6 0 4.4 0
2 No 6 1.1 7.7 1
3 Yes 7.6 0.5 5.5 0.8
3 No 9.7 0 4.5 0
而 SD 只是手动输入以显示没关系它的错误值我想要的输出是
category class test1_Mean test1_SD test2_Mean test2_SD Pvalue
1 Yes 6 1 3.7 1.1 0.05
1 No 5.8 0 4.3 0 0.14
2 Yes 9.6 0 4.4 0 0.69
2 No 6 1.1 7.7 1 0.001
3 Yes 7.6 0.5 5.5 0.8 2.00E+05
3 No 9.7 0 4.5 0 0.04
提前致谢
你可以试试:
library(dplyr)
df %>%
group_by(category, calss) %>%
summarise(pvalue = t.test(test1, test2)$p.value)
我想这就是你要找的:
library(dplyr)
df %>% group_by(category, class) %>%
summarise(test1_mean=mean(test1), test2_mean=mean(test2), test1_SD=sd(test1), test2_SD=sd(test2), pvalue = t.test(test1, test2)$p.value)
选项data.table
library(data.table)
setDT(df)[, .(pvalue = t.test(test1, test2)$p.value), .(category, calss)]
你好我所有的数据框看起来像
category calss test1 test2
1 Yes 5.5 4.2
1 No 5.8 4.3
1 Yes 6.6 3.2
2 Yes 6 7.7
2 No 5.7 5.8
3 No 9.7 4.5
3 Yes 6.8 8.5
2 No 6.3 9.6
3 Yes 8.5 2.6
我想分别根据 class 和类别计算(在 test1 和 test2 之间)的平均 SD 和 P 值
我使用 dplyr 计算均值和 SD,并努力计算 Pvalue,因为我的数据集包含 1000 行和 4 个不同的类别和 8 个 classes
这是我使用 dplyr 计算均值和 sd 后得到的结果
category class test1_Mean test1_SD test2_Mean test2_SD
1 Yes 6 1 3.7 1.1
1 No 5.8 0 4.3 0
2 Yes 9.6 0 4.4 0
2 No 6 1.1 7.7 1
3 Yes 7.6 0.5 5.5 0.8
3 No 9.7 0 4.5 0
而 SD 只是手动输入以显示没关系它的错误值我想要的输出是
category class test1_Mean test1_SD test2_Mean test2_SD Pvalue
1 Yes 6 1 3.7 1.1 0.05
1 No 5.8 0 4.3 0 0.14
2 Yes 9.6 0 4.4 0 0.69
2 No 6 1.1 7.7 1 0.001
3 Yes 7.6 0.5 5.5 0.8 2.00E+05
3 No 9.7 0 4.5 0 0.04
提前致谢
你可以试试:
library(dplyr)
df %>%
group_by(category, calss) %>%
summarise(pvalue = t.test(test1, test2)$p.value)
我想这就是你要找的:
library(dplyr)
df %>% group_by(category, class) %>%
summarise(test1_mean=mean(test1), test2_mean=mean(test2), test1_SD=sd(test1), test2_SD=sd(test2), pvalue = t.test(test1, test2)$p.value)
选项data.table
library(data.table)
setDT(df)[, .(pvalue = t.test(test1, test2)$p.value), .(category, calss)]