[R] extra digits added to data
Mark Harrison
harrisonmark1 at gmail.com
Tue Oct 11 17:57:19 CEST 2011
Thanks for the quick response.
Read the FAQ. If i want to keep the values in R the same as when inputed should i be converting the data to a different type - i.e. Not numeric?
Sent from my iPhone
On Oct 11, 2011, at 4:46 AM, Jim Holtman <jholtman at gmail.com> wrote:
> FAQ 7.31
>
> Sent from my iPad
>
> On Oct 11, 2011, at 1:07, Mark Harrison <harrisonmark1 at gmail.com> wrote:
>
>> I am having a problem with extra digits being added to my data which I think
>> is a result of how I am converting my data.frame data to xts.
>>
>> I see the same issue in R v2.13.1 and RStudio version 0.94.106.
>>
>> I am loading historical foreign exchange data in via csv files or from a sql
>> server database. In both cases there are no extra digits and the original
>> data looks like the following:
>>
>> Date Open High Low Close
>> 1 2001-01-03 1.5021 1.5094 1.4883 1.4898
>> 2 2001-01-04 1.4897 1.5037 1.4882 1.5020
>> 3 2001-01-05 1.5020 1.5074 1.4952 1.5016
>> 4 2001-01-08 1.5035 1.5104 1.4931 1.4964
>> 5 2001-01-09 1.4964 1.4978 1.4873 1.4887
>> 6 2001-01-10 1.4887 1.4943 1.4856 1.4866
>>
>> So for 2001-01-03 the Open value is 1.5021 with only 4 digits after the
>> decimal place - i.e. .5021.
>>
>> I then proceed to do the following in R to convert the 'british pound' data
>> above from data.frame to xts:
>>
>> Require(quantmod)
>> rownames(gbp) <- gbp$Date
>> head(gbp)
>>
>> Open High Low Close
>> 2001-01-03 1.5021 1.5094 1.4883 1.4898
>> 2001-01-04 1.4897 1.5037 1.4882 1.5020
>> 2001-01-05 1.5020 1.5074 1.4952 1.5016
>> 2001-01-08 1.5035 1.5104 1.4931 1.4964
>> 2001-01-09 1.4964 1.4978 1.4873 1.4887
>> 2001-01-10 1.4887 1.4943 1.4856 1.4866
>>
>> gbp<- as.xts(gbp[,2:5])
>> class(gbp)
>>
>> [1] "xts" "zoo"
>>
>> The data at this point looks ok until you look closer or output the data to
>> excel at which point you see the following for the 'Open' 2001-01-03:
>> 1.50209999084473
>>
>> It is not just the above 'Open' or the first value but all the data points
>> contain the extra digits which I think is the original date data and/or row
>> numbers that are being tacked on.
>>
>> My problem is the extra digits being added or whatever I am doing wrong in R
>> to cause the extra digits to be added. I need 1.5021 to be 1.5021 and not
>> 1.50209999084473.
>>
>> Thanks for the help.
>>
>> [[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