繁体   English   中英

R:为什么观星者使用此 dataframe 返回不正确的最小值和最大值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM