修正R sum()自动删除小数字.05的问题。

问题描述 投票:0回答:1

我有一个问题,当我使用R sum()函数时,sum()会自动删除小数字,例如总数中的0.05,请问如何解决这个问题?

原先我使用dplyr summarize(sum())函数,发现问题是

dfexl %>% 
  filter(Text=='Totalt') %>%
  summarise( number_of_total = n(),
             grundbook_total = sum(Konto, na.rm = T))

而最简单的版本是

sum(22068.00, 144501.00,  71153.00,  26193.05,  10395.00 , 80619.00)

它将输出。 354929而不是354929. 05.

有什么建议吗?

我甚至使用以下2个methords,都无法解决。

dfexl %>% 
  filter(Text=='Totalt') %>%
  summarise( number_of_total = n(),
             grundbook_total = round(sum(Konto * 100, na.rm = T)/100,4))

如果我用grundbook_total*100就可以看到35492905。

options(digits=4)

谢谢你

r sum digits
1个回答
1
投票

我相信这只是一个打印输出的问题,如果你想增加打印输出中的重要数字的数量,你可以试试。

sprintf("%.2f",sum(22068.00, 144501.00,  71153.00,  26193.05,  10395.00 , 80619.00))
# [1] "354929.05"

如果要改变数字,只要改变第一个参数中的数字,比如:

sprintf("%.10f",sum(22068.00, 144501.00,  71153.00,  26193.05,  10395.00 , 80619.00))
#[1] "354929.0500000000"
© www.soinside.com 2019 - 2024. All rights reserved.