问题描述
以下是我的数据的示例:
group valueA1 valueA2 valueB1 valueB2
1 2 3 4 5
1 4 4 5 5
2 5 4 3 2
我想创建一个表,其中包含以几种不同方式组织的摘要统计信息。首先,我需要按组组织结果,然后按变量名称包含A或B,然后按变量名称包含1或2。
我知道我可以使用类似的东西;
Agroup <- mydata %>%
select(contains("valueA"))%>%
summarise_all(list(mean=mean,sd=sd),na.rm = TRUE)
但是,这给出了均值和标准差的列表。如何将它们打印为表格?
解决方法
mydata = data.frame(
group = c(1,1,2),valueA1 = c(2,4,5),valueA2 = c(3,4),valueB1 = c(4,5,3),valueB2 = c(5,2)
)
Agroup <- mydata %>%
select(contains("valueA")) %>%
summarise_all(list(mean=mean,sd=sd),na.rm = TRUE)
Agroup
给您
valueA1_mean valueA2_mean valueA1_sd valueA2_sd
1 3.666667 3.666667 1.527525 0.5773503
和
Agroup <- mydata %>%
select(contains("1")) %>%
summarise_all(list(mean=mean,na.rm = TRUE)
Agroup
给您
valueA1_mean valueB1_mean valueA1_sd valueB1_sd
1 3.666667 4 1.527525 1
contains("valueB")
和"2"
相同。
您还需要其他东西吗?还是我想念什么?