创建输出表以汇总来自多个数据框架的数据

时间:2019-01-29 12:46:32

标签: r dataframe

我试图根据两个数据库中的信息创建一个漂亮的表。

让我们以此为例:

row.namess <- c( "s.size", "mean", "sd", "median", "minimum", "maximum")

AVAL1 <- c(250, 7.60, 0.50, 8.30, 5.30, 10.70) ## outcome  

AVAL2 <- c(254, 7.80, 0.68, 7.89, 5.30, 10.60) ## outcome

AGE1 <- c(254, 59.72, 9.08, 59.71, 29.00, 83.00) ## age

AGE2 <- c(254, 55.72, 10.01, 62.71, 31.00, 85.00) ## outcome

 (treatA <- data.frame(AVAL1, AGE1)); rownames(treatA ) <- row.namess

 (treatB <- data.frame(AVAL2, AGE2)); rownames(treatB ) <- row.namess

> treatA
        AVAL1   AGE1
s.size  250.0 254.00
mean      7.6  59.72
sd        0.5   9.08
median    8.3  59.71
minimum   5.3  29.00
maximum  10.7  83.00
> treatB
         AVAL2   AGE2
s.size  254.00 254.00
mean      7.80  55.72
sd        0.68  10.01
median    7.89  62.71
minimum   5.30  31.00
maximum  10.60  85.00

我的目标是找到一种类似于以下方法的漂亮表(例如可以轻松在Word中复制和使用的图像或表):

                                 Treat A           Treat B          

Number of Subjects                  xxxx              xxxx             
Age (yrs)
  N                                 xxxx              xxxx                  
  Mean (SD)                           xx.x (xx.x)       xx.x (xx.x)       
  Median                              xx.x              xx.x              
  Min ; Max                           xx.x ; xxx.x      xx.x ; xxx.x      

Aval (%)
  N                                 xxxx              xxxx                  
  Mean (SD)                           xx.x (xx.x)       xx.x (xx.x)       
  Median                              xx.x              xx.x              
  Min ; Max                           xx.x ; xxx.x      xx.x ; xxx.x

每个列名对应一个特定的输出: s.size-N
均值-均值 标清 中位数-中位数 最低-最低 最大-最大

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:0)

图书馆观星者是一个很好的起点:

library(stargazer) stargazer(mtcars, type = "text", flip = TRUE)

您可以在此处查看更多信息:https://www.jakeruss.com/cheatsheets/stargazer/#the-default-summary-statistics-table

最好!