An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20111013/cf13a734/attachment.pl>
is there an option to "turn off" scientific notation in write.csv
4 messages · Chris Conner, Paul Hiemstra, William Dunlap
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20111014/8994ed95/attachment.pl>
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20111014/e84b85b8/attachment.pl>
Have you tried setting options(scipen=500) # big number of digits ? E.g.,
df <- data.frame(x=pi*10^seq(-30,30,by=10), d=seq(-30,30,by=10), s=state.name[31:37])
getOption("scipen")
[1] 0
write.csv(df, stdout())
"","x","d","s" "1",3.14159265358979e-30,-30,"New Mexico" "2",3.14159265358979e-20,-20,"New York" "3",3.14159265358979e-10,-10,"North Carolina" "4",3.14159265358979,0,"North Dakota" "5",31415926535.8979,10,"Ohio" "6",3.14159265358979e+20,20,"Oklahoma" "7",3.14159265358979e+30,30,"Oregon"
oldScipen <- options(scipen=500) write.csv(df, stdout())
"","x","d","s" "1",0.00000000000000000000000000000314159265358979,-30,"New Mexico" "2",0.0000000000000000000314159265358979,-20,"New York" "3",0.000000000314159265358979,-10,"North Carolina" "4",3.14159265358979,0,"North Dakota" "5",31415926535.8979,10,"Ohio" "6",314159265358979334144,20,"Oklahoma" "7",3141592653589793216422042866402,30,"Oregon"
options(oldScipen) # reset to the previous value
Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Chris Conner Sent: Friday, October 14, 2011 10:31 AM To: Paul Hiemstra Cc: r-help at r-project.org Subject: Re: [R] is there an option to "turn off" scientific notation in write.csv Paul, Many thanks for your help! I tried the suggestions below and, unfortunately, they didn't work for me.? I actually tried a tweak even: Here is what I tried (might I be missing something?): df$x <-format(df$x, scientific = FALSE) write.csv(df ,file="df.csv") df$x <-format(df$x, scientific = FALSE) write.csv(format(df, scientific = FALSE) ,file="df.csv") For some reason write.csv still wants to coerce the long numeric into scientific notation prior to writing the .csv file... I'm running 2.13.1 on a Win 7 machine... I wonder if this is a bug? One work around I've figured out is to paste a character to df$x before exporting, then trimming the character after export... but there has to be a more elegant solution?
________________________________ From: Paul Hiemstra <paul.hiemstra at knmi.nl> Cc: "r-help at r-project.org" <r-help at r-project.org> Sent: Friday, October 14, 2011 12:39 AM Subject: Re: [R] is there an option to "turn off" scientific notation in write.csv On 10/14/2011 05:25 AM, Chris Conner wrote: Dear Help-Rs, I'm working with a file that contains large numbers and I need to export them "as is".? for example take: ? x <- c(27104010002005,27104020001805,27104090001810,90050013000140,90050013000120) y <- c(1:5) df <- data.frame(cbind(x,y)) When I then try a simple: write.csv(df,file="df.csv") I get: ?x?y 1?2.7104E+13?1 2?2.7104E+13?2 3?2.71041E+13?3 4?9.005E+13?4 5?9.005E+13?5 Then I tried: options(scipen=999) df$x <- as.character(df$x) Hi, You can use format in this case: df$x <-format(df$x, scientific = FALSE) write.csv(df,file="df.csv") regards, Paul write.csv(df,file="df.csv") and I still get: ?x?y 1?2.7104E+13?1 2?2.7104E+13?2 3?2.71041E+13?3 4?9.005E+13?4 5?9.005E+13?5 How can I have R write the file so it looks like this: ?x y 1 27104010002005 2 27104020001805 3 27104090001810 4 90050013000140 5 90050013000120 [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R- project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- Paul Hiemstra, Ph.D. Global Climate Division Royal Netherlands Meteorological Institute (KNMI) Wilhelminalaan 10 | 3732 GK | De Bilt | Kamer B 3.39 P.O. Box 201 | 3730 AE | De Bilt tel: +31 30 2206 494 http://intamap.geo.uu.nl/~paul http://nl.linkedin.com/pub/paul-hiemstra/20/30b/770 [[alternative HTML version deleted]]