[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] [0][babel][R] Undesired conversion of integers to floats in R code b
From: |
Daniel Drake |
Subject: |
[O] [0][babel][R] Undesired conversion of integers to floats in R code block output |
Date: |
Thu, 16 Feb 2012 11:07:02 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:10.0.1) Gecko/20120212 Thunderbird/10.0.1 |
Hi All,
I'm using R in org-mode/babel to analyze data from a psychological
study. The subjects in this study are identified by nine digit integers
(e.g., 987654321) that I treat as strings (or factors) in my R data
frames.
Tables output by an R code block that contain these subject IDs are
not formatted properly: the subject IDs seem to be treated as numbers
and a decimal point and a trailing zero are appended. For example,
what should be
| subj.id |
|-----------|
| 987654321 |
becomes
| subj.id |
| 987654321.0 |
(I've included real, self-contained code below.)
When I write the data frames directly to a file from within the R code
block (using a write.table function call that mimics the one in
ob-R.el), the integer IDs are preserved; but when code from ob-R.el
writes them out, the values get reformated as floats.
I've noticed that eight digit integers are not modified in the same
way, which makes me wonder if there is a 'digits' threshold I could
modify to prevent this from happening.
I've pretty much ruled out the possibility that this transformation
occurs in R; however I'm not proficient enough in elisp to follow the
operations that happen after the data frame is written to a file in
the org-babel-R-write-object-command.
Any pointers to help me figure this out would be very appreciated!
(I've seen this thread:
http://comments.gmane.org/gmane.emacs.orgmode/31373, but do not know
if the conversion to calc has been made already or if it is the source
of the problem.)
Thanks,
Dan
I'm running:
- Arch Linux (32 bit)
- GNU Emacs 23.4.1
- Org-mode version release_7.8.03-351-g47eb3
- R version 2.14.1 (2011-12-22)
* Test
** table as generated by org-mode/babel
#+name: make
#+begin_src R :results value :colnames yes
temp <- data.frame('A'=c('987654321'),'B'=c('98765432'))
## -- this call mimics the one in ob-R.el
write.table(temp,file='test_r.tsv',sep='\t',na='nil',row.names=FALSE,col.names=TRUE,quote=FALSE)
temp
#+end_src
#+RESULTS: make
| A | B |
|-------------+----------|
| 987654321.0 | 98765432 |
** table as generated by R directly
#+name: read
#+begin_src sh :results output
cat test_r.tsv
#+end_src
#+RESULTS: read
: A B
: 987654321 98765432
- [O] [0][babel][R] Undesired conversion of integers to floats in R code block output,
Daniel Drake <=
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Eric Schulte, 2012/02/18
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Daniel Drake, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Eric Schulte, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Daniel Drake, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Daniel Drake, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Daniel Drake, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Eric Schulte, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Daniel Drake, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Achim Gratz, 2012/02/19
- Re: [O] [0][babel][R] Undesired conversion of integers to floats in R code block output, Achim Gratz, 2012/02/20