[R] write.table -- maintain decimal places
Peter Ehlers
ehlers at ucalgary.ca
Wed Jan 26 04:26:08 CET 2011
On 2011-01-25 17:22, Jim Moon wrote:
> Thank you for the response, Peter.
>
> The approach:
> write.table(format(df, drop0trailing=FALSE),file='df.txt',quote=F,sep='\t',row.names=F)
> surprisingly still results in some loss of trailing 0's.
Here are a couple more (essentially identical) ways:
# 1.
dfm <- within(df, {
EFFECT2 <- sprintf("%6.3f", EFFECT2)
PVALUE <- sprintf("%7.5f", PVALUE)
})
# 2.
dfm <- within(df, {
EFFECT2 <- formatC(EFFECT2, format="f", digits=3)
PVALUE <- formatC(PVALUE, format="f", digits=5)
})
write.table(dfm, file='dfm.txt', quote=FALSE, sep='\t', row.names=FALSE)
Peter Ehlers
>
> df:
> EFFECT2 PVALUE
> 1 0.023 0.88080
> 2 -0.260 0.08641
> 3 -0.114 0.45200
>
> df.txt:
> EFFECT2 PVALUE
> 0.023 8.808e-01
> -0.26 8.641e-02
> -0.114 4.520e-01
>
>
> -----Original Message-----
> From: Peter Ehlers [mailto:ehlers at ucalgary.ca]
> Sent: Tuesday, January 25, 2011 5:09 PM
> To: Jim Moon
> Cc: r-help at r-project.org
> Subject: Re: [R] write.table -- maintain decimal places
>
> On 2011-01-25 16:16, Jim Moon wrote:
>> Hello, All,
>>
>> How can I maintain the decimal places when using write.table()?
>>
>> Jim
>>
>> e.g.
>>
>> df:
>> EFFECT2 PVALUE
>> 1 0.023 0.88080
>> 2 -0.260 0.08641
>> 3 -0.114 0.45200
>>
>> write.table(df,file='df.txt',quote=F,sep='\t',row.names=F)
>
> write.table(format(df, drop0trailing=FALSE), ....)
>
> Peter Ehlers
>
>>
>>
>> df.txt:
>> EFFECT2 PVALUE
>> 0.023 0.8808
>> -0.26 0.08641
>> -0.114 0.452
>>
>> [[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.
>
More information about the R-help
mailing list