R Tidyverse spread() 函数多位小数截断问题

菲茨考斯

我注意到舍入有问题spread()(我假设gather())。我用一些虚拟数据重新创建了这个问题(如下)。发生的情况是,当使用spread()超过 4 个小数位的双精度数时,点差的输出只有 3 个小数位。

如果有人能对此有所了解,那将非常有帮助,因为我需要保留小数点后 4 位的精度。

# Loading packages
library(tidyverse)

# Creating a dummy data set.
dummy_data <- tibble(
  day_of_week = c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday"),
  person = c("Jack", "Bob", "Bob", "Simon", "Simon"),
  value = c(0.2346, 0.7635, 0.7253, 0.7356, 0.1693)
)

# Spreading the data.
spread_data = dummy_data %>%
  spread(person, value)
菲利克斯

我在 R 环境中重新创建了虚拟变量。

确实当print(spead_data),我得到:

    day_of_week    Bob   Jack  Simon
  <chr>        <dbl>  <dbl>  <dbl>
1 Friday      NA     NA      0.169
2 Monday      NA      0.235 NA    
3 Thursday    NA     NA      0.736
4 Tuesday      0.764 NA     NA    
5 Wednesday    0.725 NA     NA   

但是,如果您直接访问值,例如spead_data$Bobyield :

[1]     NA     NA     NA 0.7635 0.7253

这是您的 4 位数字!他们从未离开,只是tibbles的打印功能有点不同。

我不建议像@saisaran 建议的那样将您的值转换为因子,之后您将无法正确使用它们。


编辑:如果你使用print.data.frame(spead_data)而不是print(spead_data),你会得到你需要的输出:

  day_of_week    Bob   Jack  Simon
1      Friday     NA     NA 0.1693
2      Monday     NA 0.2346     NA
3    Thursday     NA     NA 0.7356
4     Tuesday 0.7635     NA     NA
5   Wednesday 0.7253     NA     NA 

来源:https : //community.rstudio.com/t/why-do-tibbles-and-data-frames-display-decimal-places-a-bit-differently/5722

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用tidyverse的R中多列的加权和

来自分类Dev

使用tidyverse动词将以下函数转换为以R为底的函数

来自分类Dev

如何使用R(tidyverse)中的函数迭代创建多个小标题?

来自分类Dev

无法安装Tidyverse。扫帚问题

来自分类Dev

如何从R / Tidyverse中的整齐数据生成整齐的表?

来自分类Dev

如何在Tidyverse R中显示完整的列名

来自分类Dev

R:根据日期计算均值行。tidyverse

来自分类Dev

在R的Tidyverse中使用sum()函数的简单比例错误

来自分类Dev

在R中使用Tidyverse分离数据时遇到麻烦

来自分类Dev

在R(tidyverse)轴中控制细节级别

来自分类Dev

使用R tidyverse,ggplot,geom_area的面积图

来自分类Dev

在tidyverse的mutate函数中,R函数必须使用什么参数?

来自分类Dev

在R中使用tidyverse进行汇总后保留列

来自分类Dev

R Tidyverse-通过ID随机化

来自分类Dev

Knex迁移错误.spread()不是函数

来自分类Dev

R中的表操作-dplyr / tidyverse解决方案

来自分类Dev

使用R tidyverse保存并导出到Stata中

来自分类Dev

在tidyverse中使用`anti_join`函数

来自分类Dev

R tidyverse:移置但保持完整的一列

来自分类Dev

R:在tidyverse中创建一个函数

来自分类Dev

R-tidyr-spread()-将NA作为列名处理

来自分类Dev

在R tidyr上的spread_上使用NSE

来自分类Dev

根据多列进行拆分,然后在R中应用spread()

来自分类Dev

Base R reshape() 与 tidyverse

来自分类Dev

确定流销售数据的开始/结束日期 (R/Tidyverse)

来自分类Dev

在 R 中尝试 spread() 时对重复键求和

来自分类Dev

在 tidyverse 中使用自定义函数

来自分类Dev

尝试在 R 中使用 spread() 函数时将数据框设为“宽”结构的问题

来自分类Dev

tidyverse 中的函数

Related 相关文章

热门标签

归档