fix r sum () автоматическое удаление малых цифр .05 - PullRequest
0 голосов
/ 05 мая 2020

У меня проблема в том, что когда я использую функцию 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 метода, не могу исправить

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)

Спасибо!

1 Ответ

1 голос
/ 05 мая 2020

Я считаю, что это просто проблема с распечаткой; если вы хотите увеличить количество значащих цифр в распечатке, вы можете попробовать:

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"
...