gpt4 book ai didi

r - Data Frame,错误总结

转载 作者:行者123 更新时间:2023-12-02 06:34:30 28 4
gpt4 key购买 nike

我有一个很大的数据框,叫做 FTSE。这是他的结构。

str(FTSE)

'data.frame': 21167 obs. of 5 variables:
$ Name : Factor w/ 2 levels "FTSE MIB","FTSE MIB NET TOT ": 1 1 1 1 1 1 1 1 1 1 ...
$ DateLastTrade: Factor w/ 18 levels "12/10/13","12/11/13",..: 9 9 9 9 9 9 9 9 9 9 ...
$ LastPrice : num 19091 19008 19002 19018 19018 ...
$ Open : num 19091 19091 19091 19091 19091 ...
$ LastClose : num 19021 19021 19021 19021 19021 ...

我试着总结了一下,我得到了:

summary(FTSE)
Name DateLastTrade LastPrice Open LastClose
FTSE MIB :10289 12/3/13 : 1370 Min. :17750 Min. :17811 Min. :17805
FTSE MIB NET TOT :10878 12/4/13 : 1370 1st Qu.:18124 1st Qu.:18055 1st Qu.:18124
12/6/13 : 1370 Median :18321 Median :18310 Median :18313
12/2/13 : 1369 Mean :18366 Mean :18375 Mean :18352
12/5/13 : 1369 3rd Qu.:18595 3rd Qu.:18752 3rd Qu.:18697
12/23/13: 1353 Max. :19091 Max. :19091 Max. :19021
(Other) :12966

请注意“最后价格”栏。如果我尝试直接总结 LastPrice(我在分析中实际需要的变量),我已经得到了这个,这与之前的有很大不同。

summary(FTSE$LastPrice)
Min. 1st Qu. Median Mean 3rd Qu. Max.
17750 18120 18320 18370 18600 19090

我是 R 的新手,我真的不明白为什么值不同。是四舍五入的问题吗?我已经阅读了很多关于此的答案,但我找不到统一结果的解决方案。我真的被这个问题困住了。

感谢任何可以帮助我甚至试图理解我的问题的人。问候

shujaa 的编辑:

max(FTSE$LastPrice) 
[1] 19091.3

FTSE[which.max(FTSE$LastPrice), ]
Name DateLastTrade LastPrice Open LastClose
1 FTSE MIB 12/2/13 19091.3 19091.3 19021.48

最佳答案

这是一个舍入问题。 summary(FTSE$LastPrice) 的所有输出只有 4 位有效数字。如果您查看 ?summaryUsage 部分,您会看到数字的默认值(作为命名参数)以及数字的默认值作为一个选项让您达到 4。

 # summary(object, ..., digits = max(3, getOption("digits")-3))

> getOption("digits")
[1] 7

所以尝试:

summary(FTSE$LastPrice, digits=7)

然而,一个悬而未决的问题仍然存在:为什么 summary.data.frame 函数不进行相同程度的舍入,因为数字的默认参数对于 .default.data.frame 方法?查看代码,您会发现 summary.data.frame 实际上首先对其列执行 summary.default,固定值为 digits=12L,然后使用 digits 参数进行 format。在我看来,帮助页面在参数描述中的这个区域有些模糊

digits: integer, used for number formatting with signif() (for summary.default) or 
format() (for summary.data.frame).

它完全忽略了一个事实,即 data.frame 列的默认(和固定)符号是完全不同的。

关于r - Data Frame,错误总结,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23232083/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com