根据不同的分组,如何制作和组织R中的均值和SDS表

问题描述

以下是我的数据的示例:

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"相同。

您还需要其他东西吗?还是我想念什么?