如何根据不同的分组在 R 中制作和组织 table 的方法和 sds

How to make and organise a table of means and sds in R, according to different groupings

这是我的数据的示例:

group  valueA1 valueA2 valueB1 valueB2
1       2       3       4       5
1       4       4       5       5
2       5       4       3       2

我想创建一个 table,其中包含以几种不同方式组织的摘要统计信息。首先,我需要按组组织我的结果,然后按它是否包含 A 或 B,然后按它是否包含变量名称中的 1 或 2。

我知道我可以使用这样的东西;

Agroup <- mydata %>%
    select(contains("valueA"))%>%
    summarise_all(list(mean=mean, sd=sd), na.rm = TRUE)

然而,这给了我均值和 sd 的列表。如何将它们打印为 table?

mydata = data.frame(
  group = c(1, 1, 2),
  valueA1 = c(2, 4, 5),
  valueA2 = c(3, 4, 4),
  valueB1 = c(4, 5, 3),
  valueB2 = c(5, 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, sd=sd), na.rm = TRUE)
Agroup

给你:

  valueA1_mean valueB1_mean valueA1_sd valueB1_sd
1     3.666667            4   1.527525          1

同样适用于 contains("valueB")"2"