[英]R: why does stargazer return incorrect values for min and max with this dataframe?
我今天正在使用 stargazer 制作一些基本的匯總表,並注意到一些奇怪的行為:
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)
Output 是:
=======================
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。
這看起來可疑地像一個未記錄的行為(又名錯誤)。
我可能錯了,但似乎 function 正在檢查每個變量的第一個值以確定如何呈現最小/最大結果,如果發現任何看起來像 integer 的東西,則忽略digits
參數。 例如,將第一個值從 3.00 更改為 3.10,您將獲得預期的 output。
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
所以,我不認為你正在失去你的彈珠。 但是您應該將此報告給 package 作者,看看他(Marek Hlavac)怎么說。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.