Good Day, I have the following: >Date<-c("08/05/08","08/06/08","08/07/08") >Weight<-c(209.4,211.8,210.0) >planned.meal<-cbind(Date,Weight) >planned.meal Date Weight 1 08/05/08, 209.4 2 08/06/08, 211.8 3 08/07/08, 210.0 >write.table(planned.meal, file="plannedMeal1.txt", + quote=FALSE, row.names=FALSE) output on vim editor: Date Weight 08/05/08, 209.4 08/06/08, 211.8 08/07/08, 210 I'm missing the 210.0 from the data. Instead I got 210 in the file plannedMeal1.txt. I'm using R-2.9.0 Much is appreciated.
Dieter Menne
2009-Jun-25 08:14 UTC
[R] Lose of decimal when using write.table to text file
Bob Ly <robertly <at> vfemail.net> writes:> I have the following: > >Date<-c("08/05/08","08/06/08","08/07/08") > >Weight<-c(209.4,211.8,210.0) > >planned.meal<-cbind(Date,Weight) > >planned.meal > Date Weight > 1 08/05/08, 209.4 > 2 08/06/08, 211.8 > 3 08/07/08, 210.0This is strange. When I run your code, I get> planned.mealDate Weight [1,] "08/05/08" "209.4" [2,] "08/06/08" "211.8" [3,] "08/07/08" "210" This could be a global date format setting, but it show part of the problem: everything is converted to string as the common denominator. Better use a data frame. And (from docs) "For finer control, use format to make a character matrix/data frame, and call write.table on that" Dieter Date<-c("08/05/08","08/06/08","08/07/08") Weight<-c(209.4,211.8,210.0) planned.meal<-cbind(Date,Weight) planned.meal str(planned.meal) planned.meal<-data.frame(Date=Date,Weight=Weight) planned.meal str(planned.meal) options(digits=1) planned.meal.format = format(planned.meal,nsmall=1) planned.meal.format write.table(planned.meal.format, file="plannedMeal1.txt", quote=FALSE, row.names=FALSE)