R: почему StarGazer возвращает неправильные значения для min и max с этим фреймом данных? - PullRequest
1 голос
/ 02 мая 2020

Я использовал Stargazer сегодня для составления некоторых базовых c сводных таблиц и заметил странное поведение:

library(stargazer)

my_df <- data.frame(speed = c(3.00,3.20,3.00,3.20,3.10,2.90),
                    age = c(22,24,24,28,19,25))

stargazer(my_df, type="text",
          summary.stat = c("min", "mean", "max"),
          digits = 2)

Вывод:

=======================
Statistic Min Mean  Max
-----------------------
speed      3  3.07   3 
age       19  23.67 28 
-----------------------

Ясно min следует быть 2,90 и max должно быть 3,20, как я указал digits=2 ... теряю ли я свои шарики? Я использую Stargazer 5.2.2 и R 3.6.3, если это имеет значение.

1 Ответ

0 голосов
/ 02 мая 2020

Это выглядит подозрительно, как недокументированное поведение (иначе ошибка).

Возможно, я ошибаюсь, но, похоже, функция проверяет первое значение каждой переменной, чтобы определить, как представить результаты min / max. , игнорируя аргумент digits, если он находит что-то похожее на целое число. Например, измените первое значение с 3.00 на 3.10, и вы получите ожидаемый результат.

my_df <- data.frame(speed = c(3.10,3.20,3.00,3.20,3.10,2.90),
                    age = c(22,24,24,28,19,25))

stargazer(my_df, type="text",
          summary.stat = c("min", "mean", "max"),
          digits = 2)

=========================
Statistic Min  Mean  Max 
-------------------------
speed     2.90 3.08  3.20
age        19  23.67  28 
-------------------------

Я пробовал это с набором данных mtcars и получил то же поведение.

stargazer(mtcars[,c("mpg","drat","wt","qsec")], type='text', digits=2)

=========================================================
Statistic N  Mean  St. Dev.  Min  Pctl(25) Pctl(75)  Max 
---------------------------------------------------------
mpg       32 20.09   6.03    10     15.4     22.8    34  
drat      32 3.60    0.53   2.76    3.08     3.92   4.93 
wt        32 3.22    0.98   1.51    2.58     3.61   5.42 
qsec      32 17.85   1.79   14.50  16.89    18.90   22.90
---------------------------------------------------------

head(mtcars[,c("hp","mpg","drat","wt","qsec")])
#                    hp  mpg drat    wt  qsec
# Mazda RX4         110 21.0 3.90 2.620 16.46
# Mazda RX4 Wag     110 21.0 3.90 2.875 17.02
# Datsun 710         93 22.8 3.85 2.320 18.61
# Hornet 4 Drive    110 21.4 3.08 3.215 19.44
# Hornet Sportabout 175 18.7 3.15 3.440 17.02
# Valiant           105 18.1 2.76 3.460 20.22

Итак Я не думаю, что вы теряете свои шарики. Но вы должны сообщить об этом автору пакета и посмотреть, что он (Марек Хлава c) говорит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...