Округление до 0 в статистике Stargazer - PullRequest
1 голос
/ 29 июня 2019

Я пытаюсь создать сводную статистическую таблицу с помощью Stargazer с некоторыми большими переменными (в среднем> 1000) и некоторыми меньшими (<1).Проблема в том, что я не хочу десятичных чисел на больших числах, только на меньших.Я пытался использовать digits.extra, но он не работает.</p>

Проблема:

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 голосов
/ 30 июня 2019

@ Комментарий Бена выглядит полезным, но я думаю, что ваша ситуация немного отличается, потому что stargazer вычисляет сводку для вас, а не помещает сводку в stargazer.

Это кажется трудным, поскольку применяется аргумент 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.

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

Я знаю, это не совсем то, что вы искали, номожет быть, это поможет.

...