Repository navigation
fwrite ignores options(scipen = 999) #2020
Description
Activity
library(data.table) aaa <- data.table(c(10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16)) options(scipen = 0) write.csv(aaa, "scipen-0-writecsv.txt") fwrite(aaa, "scipen-0-fwrite.txt") options(scipen = 3) write.csv(aaa, "scipen-3-writecsv.txt") fwrite(aaa, "scipen-3-fwrite.txt") options(scipen = 5) write.csv(aaa, "scipen-5-writecsv.txt") fwrite(aaa, "scipen-5-fwrite.txt") options(scipen = 10) write.csv(aaa, "scipen-10-writecsv.txt") fwrite(aaa, "scipen-10-fwrite.txt") options(scipen = 99) write.csv(aaa, "scipen-99-writecsv.txt") fwrite(aaa, "scipen-99-fwrite.txt")Looks like this is hardcoded in
fwrite.c?One workaround is to cast integer columns with
bit64::as.integer64.- pinned this issue
on Dec 22, 2018 - unpinned this issue
on Dec 22, 2018 And
fwrite()tests intest.data.table()are affected by user settingoptions(scipen=)reported here with screenshots : https://twitter.com/ilarischeinin/status/1085082345013739520Reacted by Michael Chirico, Anand Mayakonda and sjain777- changed the title
[-]fwrite ignors options(scipen = 999)[/-][+]fwrite ignores options(scipen = 999)[/+]on Apr 9, 2019 Turning off scientific notation in fwrite not working is an issue. Any attempt to reformat the data using standard R functions add slowness to a big-data use-case. Hence, getting this addressed in 1.12.4 as indicated above would be awesome, thanks much!
I have a basic working version up in
fwrite_scipenbranch, see #3716. Raising here since there are so many interested parties on this one...Also adding those who reacted since I'm not sure you'll be subscribed to notifications:
@charles-plessy @mike-wise @ndukler @AndroidOatmeal @AlexIzydorczyk @novakowd @gamestrRUS @simkoum @jon-nagra @apprent @tony-stone @SimonPBiggs @AdamSpannbauer @everron @juliebehr @mt1022 @AndrewsOR @jrhawley @OrdiNeu @joblolabinette @grighi @TalSa @jeparsons @mgahan @ajnisbet @LannyFox @johndrummond @RoyalTS @acronymhaterheidi @PoGibas @malcook @yilun11 @dzeltzer @logworthy @yaakovfeldman @mattmotoki @bendae19 @dbradnum @ejoranlienea @Cruiseee @gorcha @diegogruber @rikutakei @r2evans @PoisonAlien
Details
code to get these since it was truncated above:
library(gh) library(magrittr) # reactions API is "in development" so requires special header: react_header = 'application/vnd.github.squirrel-girl-preview+json' reaction_url = "/repos/Rdatatable/data.table/issues/2020/reactions?per_page=100" reaction_url %>% gh(.send_headers = c(Accept=react_header)) %>% sapply(`[[`, c('user', 'login')) %>% unique %>% paste0('@', . ) %>% paste(collapse = ' ') %>% catReacted by Malcolm Cook, ejoranlienea, Matt Motoki, Anand Mayakonda, Emmanuel Verron and Heidi Hart
Hey,
I use
options(scipen = 999)to avoid scientific notation. write.table() uses this option, but not fwrite() (data.table 1.10.0).Example: