R语言 将表格的较高标题分为两组

z31licg0  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(128)

我有下面的数据表

tests0     GROUP    mean0 stderr0 mean7 stederr7 diff.std.mean p.value
   <fct>      <fct>    <dbl>   <dbl> <dbl>    <dbl>         <dbl>   <dbl>
 1 ADAS_CogT0 CONTROL   12.6   0.525  13.6    0.662        -1.15  0.00182
 2 ADAS_CogT0 TRAINING  14.0   0.613  12.6    0.570         1.40  0.00295
 3 PVF_T0     CONTROL   32.1   1.22   31.3    1.45          0.498 0.636  
 4 PVF_T0     TRAINING  31.6   1.37   34.3    1.51         -2.48  0.0102 
 5 ROCF_CT0   CONTROL   29.6   0.893  30.3    0.821        -0.180 0.835  
 6 ROCF_CT0   TRAINING  30.1   0.906  29.5    0.929         0.489 0.615  
 7 ROCF_IT0   CONTROL   12.8   0.563  12.2    0.683         0.580 0.356  
 8 ROCF_IT0   TRAINING  10.9   0.735  12.3    0.768        -1.44  0.0238 
 9 ROCF_RT0   CONTROL   12.1   0.725  12.5    0.797        -0.370 0.598  
10 ROCF_RT0   TRAINING  10.5   0.746  10.9    0.742        -0.534 0.370  
11 SVF_T0     CONTROL   35.5   1.05   34      1.15          1.42  0.107  
12 SVF_T0     TRAINING  34.1   1.04   32.9    1.16          0.962 0.231

因为我想用flexatable package创建一个表,所以我试图通过创建两个标题来对属于CONTROL和TRAINING的结果进行排序,在标题下面应该是列出的结果。有人知道我该怎么做吗?
这是我使用的数据集
先谢了
如下所示,您可以绘制一幅图片,我希望获得该图片(我希望创建第二个收听器,作为报告标签**"空气质量"和"时间"的收听器,并且我希望在其中正确输入相应结果,两个名称组控制和培训组**)。

lf5gs5x2

lf5gs5x21#

也许这能帮上忙

library(dplyr)
library(tidyr)
library(ftExtra)
library(flextable)
df1 %>% 
   pivot_wider(names_from = GROUP, values_from = where(is.numeric), 
       names_glue = "{GROUP}-{.value}")  %>%  
   select(tests0, starts_with("CONTROL"), starts_with("TRAINING")) %>%  
   as_flextable() %>% 
   span_header(sep = "-")  %>%
   autofit(part = "all") %>%
   align(align = "center", part = "all")
  • 输出

数据

df1 <- structure(list(tests0 = c("ADAS_CogT0", "ADAS_CogT0", "PVF_T0", 
"PVF_T0", "ROCF_CT0", "ROCF_CT0", "ROCF_IT0", "ROCF_IT0", "ROCF_RT0", 
"ROCF_RT0", "SVF_T0", "SVF_T0"), GROUP = c("CONTROL", "TRAINING", 
"CONTROL", "TRAINING", "CONTROL", "TRAINING", "CONTROL", "TRAINING", 
"CONTROL", "TRAINING", "CONTROL", "TRAINING"), mean0 = c(12.6, 
14, 32.1, 31.6, 29.6, 30.1, 12.8, 10.9, 12.1, 10.5, 35.5, 34.1
), stderr0 = c(0.525, 0.613, 1.22, 1.37, 0.893, 0.906, 0.563, 
0.735, 0.725, 0.746, 1.05, 1.04), mean7 = c(13.6, 12.6, 31.3, 
34.3, 30.3, 29.5, 12.2, 12.3, 12.5, 10.9, 34, 32.9), stederr7 = c(0.662, 
0.57, 1.45, 1.51, 0.821, 0.929, 0.683, 0.768, 0.797, 0.742, 1.15, 
1.16), diff.std.mean = c(-1.15, 1.4, 0.498, -2.48, -0.18, 0.489, 
0.58, -1.44, -0.37, -0.534, 1.42, 0.962), p.value = c(0.00182, 
0.00295, 0.636, 0.0102, 0.835, 0.615, 0.356, 0.0238, 0.598, 0.37, 
0.107, 0.231)), class = "data.frame", row.names = c("1", "2", 
"3", "4", "5", "6", "7", "8", "9", "10", "11", "12"))

相关问题