R 如何将多个测试结果存储在一个外观独特的表中

R 如何将多个测试结果存储在一个外观独特的表中,r,r-markdown,R,R Markdown,我正在努力使我的工作流程更有效率。 我将数据保存在excel工作表中,并将其导入r studio 根据这些数据,我做了几个Mann-Whitney U测试。我想将重要的结果存储在一个矩阵中,并使用r markdown(bookdown)中的kable函数将它们打印到一个表中 谢谢大家!你帮了我很多忙 编辑:使用dput添加的数据 dput(do2) structure(list(ID = structure(1:36, .Label = c("1", "2", "3", "4", "5",

我正在努力使我的工作流程更有效率。 我将数据保存在excel工作表中,并将其导入r studio 根据这些数据,我做了几个Mann-Whitney U测试。我想将重要的结果存储在一个矩阵中,并使用r markdown(bookdown)中的kable函数将它们打印到一个表中

谢谢大家!你帮了我很多忙

编辑:使用dput添加的数据

 dput(do2)
structure(list(ID = structure(1:36, .Label = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", 
"25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", 
"36"), class = "factor"), Group = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2), Order = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
1, 1, 1, 1), P1 = c(0.0719, 0.0817, 0.0901, 0.0778, 
0.0725, 0.0726, 0.0935, 0.0971, 0.0932, 0.0796, 0.0885, 0.0911, 
0.0808, 0.0749, 0.0617, 0.1424, 0.0862, 0.085, 0.1239, 0.1199, 
0.0624, 0.0883, 0.0975, 0.1108, 0.0959, 0.0813, 0.0778, 0.0815, 
0.0971, 0.0888, 0.0673, 0.089, 0.0755, 0.0646, 0.0691, 0.1037
), P2 = c(0.1383, 0.1894, 0.1206, 0.1816, 0.1139, 0.1549, 
0.1582, 0.2333, 0.1157, 0.1125, 0.1091, 0.1286, 0.1464, 0.13, 
0.1238, 0.2646, 0.2175, 0.197, 0.2052, 0.2533, 0.1349, 0.131, 
0.2838, 0.2188, 0.1377, 0.1048, 0.2221, 0.1517, 0.2149, 0.1419, 
0.1754, 0.1445, 0.1606, 0.1788, 0.201, 0.169), A1 = c(0.0889, 
0.0821, 0.0841, 0.0845, 0.0982, 0.091, 0.1285, 0.0842, 0.0601, 
0.1067, 0.0705, 0.0717, 0.0741, 0.1069, 0.0603, 0.129, 0.0877, 
0.0722, 0.0874, 0.1033, 0.0603, 0.0833, 0.0916, 0.0889, 0.1078, 
0.0788, 0.0648, 0.0499, 0.0848, 0.0784, 0.0743, 0.1018, 0.089, 
0.0683, 0.0865, 0.0985), A2 = c(0.0084, 0.0171, 0.0068, 
0.0078, 0.0091, 0.0112, 3e-04, 0.0122, 0.002, 0.016, 0.0076, 
0.0033, 0.0058, 0.0211, 0.0011, 0.0093, 0.0167, 0, 0.004, 0.0039, 
0, 0.0061, 0.0153, 0.0024, 0, 0.0014, 0.002, 0, 0, 0.0062, 0, 
0.009, 0.0062, 0, 0, 0.0326)), row.names = c(NA, -36L), class = c("tbl_df", 
"tbl", "data.frame"))

你可以尝尝小提花

library(tidyverse)
library(kableExtra)
library(broom)

do2 %>% 
  gather(EP, value, -ID:-Order) %>% # transform the data to long format
  nest(data = -EP) %>% 
  mutate(test = map(data, ~wilcox.test(value ~ Order, data = ., exact =F) %>% broom::tidy()),
         mean = map(data, ~mean(.$value)),
         n = map(data, nrow)) %>% 
  unnest(cols = c(EP, test, mean, n)) %>% 
  select(EP, mean, n, p.value) %>% 
  kableExtra::kable(format = "html") %>%  
  kableExtra::kable_styling()

您可以使用
dput(do2)
添加一些数据吗?(请参见编辑)另请参见
finalfit
 dput(do2)
structure(list(ID = structure(1:36, .Label = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", 
"25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", 
"36"), class = "factor"), Group = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
2, 2, 2, 2, 2, 2), Order = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
1, 1, 1, 1), P1 = c(0.0719, 0.0817, 0.0901, 0.0778, 
0.0725, 0.0726, 0.0935, 0.0971, 0.0932, 0.0796, 0.0885, 0.0911, 
0.0808, 0.0749, 0.0617, 0.1424, 0.0862, 0.085, 0.1239, 0.1199, 
0.0624, 0.0883, 0.0975, 0.1108, 0.0959, 0.0813, 0.0778, 0.0815, 
0.0971, 0.0888, 0.0673, 0.089, 0.0755, 0.0646, 0.0691, 0.1037
), P2 = c(0.1383, 0.1894, 0.1206, 0.1816, 0.1139, 0.1549, 
0.1582, 0.2333, 0.1157, 0.1125, 0.1091, 0.1286, 0.1464, 0.13, 
0.1238, 0.2646, 0.2175, 0.197, 0.2052, 0.2533, 0.1349, 0.131, 
0.2838, 0.2188, 0.1377, 0.1048, 0.2221, 0.1517, 0.2149, 0.1419, 
0.1754, 0.1445, 0.1606, 0.1788, 0.201, 0.169), A1 = c(0.0889, 
0.0821, 0.0841, 0.0845, 0.0982, 0.091, 0.1285, 0.0842, 0.0601, 
0.1067, 0.0705, 0.0717, 0.0741, 0.1069, 0.0603, 0.129, 0.0877, 
0.0722, 0.0874, 0.1033, 0.0603, 0.0833, 0.0916, 0.0889, 0.1078, 
0.0788, 0.0648, 0.0499, 0.0848, 0.0784, 0.0743, 0.1018, 0.089, 
0.0683, 0.0865, 0.0985), A2 = c(0.0084, 0.0171, 0.0068, 
0.0078, 0.0091, 0.0112, 3e-04, 0.0122, 0.002, 0.016, 0.0076, 
0.0033, 0.0058, 0.0211, 0.0011, 0.0093, 0.0167, 0, 0.004, 0.0039, 
0, 0.0061, 0.0153, 0.0024, 0, 0.0014, 0.002, 0, 0, 0.0062, 0, 
0.009, 0.0062, 0, 0, 0.0326)), row.names = c(NA, -36L), class = c("tbl_df", 
"tbl", "data.frame"))
library(tidyverse)
library(kableExtra)
library(broom)

do2 %>% 
  gather(EP, value, -ID:-Order) %>% # transform the data to long format
  nest(data = -EP) %>% 
  mutate(test = map(data, ~wilcox.test(value ~ Order, data = ., exact =F) %>% broom::tidy()),
         mean = map(data, ~mean(.$value)),
         n = map(data, nrow)) %>% 
  unnest(cols = c(EP, test, mean, n)) %>% 
  select(EP, mean, n, p.value) %>% 
  kableExtra::kable(format = "html") %>%  
  kableExtra::kable_styling()