r语言 - 如何使用观星者创建包含两组的汇总统计表



我一直在寻找几个小时,了解如何使用观星者包创建一个汇总统计表,该表由 R 中的分类变量分组。

基本上,我想显示相邻的两个组(控制和治疗)的均值,并另外计算两组之间的差异。

每当我尝试使用观星者创建表时,它都会为彼此下面的每个分类变量创建两个表。

我用mtcars数据集创建了一个样本。假设变量 'am' 是分类变量:

attach(mtcars)
library(dplyr)
data = mtcars
auto1 = data %>%
  filter(am == 1) %>%
  dplyr::select(mpg,disp,hp)
manu1 = data %>%
  filter(am == 0) %>%
  dplyr::select(mpg,disp,hp)
stargazer(auto1,manu1, type = "html", out = "summary.html",summary.stat = c("mean"), summary = TRUE)`

由于这没有按预期进行,我手动创建了摘要表,并在观星器中将摘要指定为 FALSE 以仅获得一个 HTML 表:

auto = data %>%
  filter(am == 1) %>%
  summarize_each(funs(mean)) %>%
  melt(id.vars="am")
manu = data %>%
  filter(am == 0) %>%
  summarize_each(funs(mean)) %>%
  melt(id.vars = "am")
end = dplyr::select(data.frame(auto,manu),-c(am,am.1,variable.1))
end$diff = end$value.1 - end$value
names(end) = c("Variable","Automatic","Manual","Difference")        
stargazer(end, type = "html", out = "summary.html",summary.stat = c("mean"), summary = FALSE)

这可能不是创建所需汇总统计表的巧妙方法,但我自己也想不出更好的方法。任何建议如何与观星者或其他软件包一起使用?

不完全确定您想要的输出是什么,但这有帮助吗?

mtcars %>% 
  group_by(am) %>%
  summarise(mpg = mean(mpg), disp = mean(disp), hp = mean(hp)) %>%
  gather(key = "variable","value",mpg,disp,hp) %>%
  spread(am,value) %>%
  group_by(variable) %>%
  mutate(difference = `1`-`0`)
## Source: local data frame [3 x 4]
## Groups: variable [3]
##
##   variable       `0`       `1`  difference
##      <chr>     <dbl>     <dbl>       <dbl>
## 1     disp 290.37895 143.53077 -146.848178
## 2       hp 160.26316 126.84615  -33.417004
## 3      mpg  17.14737  24.39231    7.244939

相关内容

  • 没有找到相关文章

最新更新