在“占星师摘要”统计中舍入为0

时间:2019-06-29 18:21:36

标签: r summary stargazer

我正在尝试使用Stargazer创建一个汇总统计表,其中包含一些大变量(平均> 1000)和一些小变量(<1)。问题是我不希望小数点处的数字更大,而只希望小数点处的数字小数。我尝试使用digits.extra,但似乎没有用。

问题:

test<-data.frame(a=c(0.3, 0.45),b=c(3320,2583))
stargazer(test, type='text', omit.summary.stat = c("p25", "p75"))

==========================================
Statistic N   Mean    St. Dev.  Min   Max 
------------------------------------------
a         2   0.375    0.106   0.300 0.450
b         2 2,951.500 521.138  2,583 3,320
------------------------------------------

我希望代码能起作用:

stargazer(test, type='text', omit.summary.stat = c("p25", "p75"), digits=0, digits.extra = 3)

 ======================================
 Statistic N Mean  St. Dev.  Min   Max 
 --------------------------------------
 a         2   0      0       0     0  
 b         2 2,952   521    2,583 3,320
 --------------------------------------

我想要什么:

==========================================
Statistic N   Mean    St. Dev.  Min   Max 
------------------------------------------
a         2 0.375    0.106   0.300 0.450
b         2 2,952    521     2,583 3,320
------------------------------------------

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

@Ben的评论似乎很有用,但我认为您的情况有所不同,因为观星者正在为您计算摘要,而不是将摘要放入观星者中。

这看起来确实很困难,因为digits参数适用于所有列。您是否考虑过将数据帧分为大大小小的?无论如何,这可能对读者来说更有意义。

这是我为您的尝试。

test<-data.frame(a=c(0.3, 0.45),b=c(3320,2583),c=c(0.2, 0.35),d=c(2320,1583))
test

mean_calc <- apply(test,2,mean)

ind <- mean_calc < 1 #Create an index of small means

small <- test[,ind] #Separate dataset into small means
large <- test[,!ind] #Separate dataset into large means

创建两个不同的观星者输出。

stargazer(small, type='text', omit.summary.stat = c("p25", "p75"), digits=3)
stargazer(large, type='text', omit.summary.stat = c("p25", "p75"), digits=0)

我知道这并不是您要找的东西,但这也许会有所帮助。