stargazer在摘要列表上

时间:2015-03-04 09:39:22

标签: r list stargazer

我正在尝试为我的data.frame(prezzoprezzo_unit_2中的两个变量获取一个唯一的汇总统计信息表(例如。mean) - 抱歉不是通用的对应于分类变量。 由于我无法做到这一点,我尝试通过创建几个summaryBy(库doBy)的列表然后将星际应用程序应用到列表来解决问题。不幸的是,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")

1 个答案:

答案 0 :(得分:3)

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

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

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

的情况
  

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