R中有没有办法从数据列表中创建汇总统计表

问题描述

我正在尝试使用 table1::table1 函数制作我的数据的汇总表。

我可以让下面的代码按预期工作。

DF = list('A' = rnorm(100,mean = 1),'B' = rnorm(100,mean = 2),'C' = rnorm(100,mean = 3))
table1::table1(~A+B+C,data=DF,overall = 'List 1')

我正在尝试做与上面相同的事情,但相反,我有一个要合并的数据列表,并将列作为列表 1 和列表 2,具有与 A、B、C 相同的汇总统计数据行。

DF = NULL
DF[['List 1']] = list('A' = rnorm(100,mean = 3))

DF[['List 2']] = list('A' = rnorm(100,mean = 3))

有没有人有任何建议或知道实现此目的的更好方法

解决方法

我们可以使用 transposepurrr 中的 flattenunlistlist 元素设为 3 的 list

library(purrr)
DF2 <- transpose(DF) %>% 
            map(flatten_dbl)

注意:DF 是 OP 帖子中的第二个数据集

现在,我们使用 table1

进行测试
table1::table1(~A+B+C,data=DF2,overall = 'List 1')

-输出

enter image description here


如果我们需要创建一个两列的表,将向量的list的{​​{1}}转换为单个list,同时创建一个带有data.frame的列names 元素

list

-输出

enter image description here