【问题标题】:stargazer over a list of summaryBy观星者在摘要列表中
【发布时间】:2015-03-04 09:39:21
【问题描述】:

我正在尝试为我的 data.frame 中的两个变量(prezzoprezzo_unit_2 - 抱歉不是通用的)由与分类变量相对应的几个组获取一个唯一的汇总统计表(例如平均值) . 由于我做不到,我试图通过创建几个summaryBy(库doBy)的列表然后将stargazer 应用于列表来解决这个问题。不幸的是,stargazer 给出了这个错误信息:

Error in if (.global.summary[i] == TRUE) { : 
  missing value where TRUE/FALSE needed

另外,如果我对列表中两个元素的任何子集运行 stargazer,它会起作用。

有什么想法吗?非常感谢。

这是我所做的:

lista<-list(summaryBy(prezzo+prezzo_unit_2~DOP, data=DB_ristr_no_outlayers, FUN=mean, var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~Organic, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~italia.nel.nome, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~portogallo.nel.nome, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~spagna.nel.nome, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~grecia.nel.nome, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~altra.origine.nel.nome, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~nessuna.origine.nel.nome, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~packaging, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~materiale, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~scatola, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~premium, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~monovarietale, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~formato_0_250, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~formato_251_500, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~formato_501_1000, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~formato_oltre_1000, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE),
            summaryBy(prezzo+prezzo_unit_2~recensito, data=DB_ristr_no_outlayers, FUN=mean,var.names=c("prezzo", "prezzo al lt"), keep.names=TRUE)
            )

stargazer(lista, type="text", style="aer", summary=FALSE, title="any_title", out="any_title.xls")

【问题讨论】:

    标签: r list stargazer


    【解决方案1】:

    我也遇到了同样的问题。看源码,当使用对象列表作为输入时,summary参数必须是和你的输入列表长度相同的逻辑向量。

    stargazer(my.list,summary=rep(F,length(my.list)))
    

    如果您不想拥有汇总统计信息,这应该可以。根据自己的喜好调整。 遗憾的是,帮助文件中没有记录。 ?stargazer 只给出了单个 data.frame 的情况:

    summary:一个逻辑值,表示包是否应该输出摘要 给定数据框时的统计表。如果为 FALSE,包将 而是输出数据框的内容。

    【讨论】:

      猜你喜欢
      • 2021-09-17
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      相关资源
      最近更新 更多