Probably the issue is related to this function in `ob-core.el'?

org-babel-read: "Convert the string value of CELL to a number if
appropriate."

Behind the curtains lies the built-in function `string-to-number'.

Maybe that conversion should be made optional to leave the strings
untouched.

2017-02-24 1:40 GMT+00:00 Vicente Vera <vicentemvp@gmail.com>:
Hello. I'm trying to get an Org table from an R data frame but data is
lost in the process.

Here is a MWE. Note that:

- In R every value is a string. "var2" contains no numbers (is a
  character vector).

- Upon conversion to a table Org removes the zero from "var2" last
  value.

------------------------------

#+BEGIN_SRC R :session *mwe* :results value table :colnames yes
  tst <- data.frame(var1 = c("a", "b", "c", "d", "e", "f", "g"),
                    var2 = c("150", "210", "140", "150", "192", "497", "3.350"),
                    stringsAsFactors = FALSE)
  tst
#+END_SRC

#+RESULTS:
| var1 | var2 |
|------+------|
| a    |  150 |
| b    |  210 |
| c    |  140 |
| d    |  150 |
| e    |  192 |
| f    |  497 |
| g    | 3.35 |

------------------------------

Here's the output as seen in R:

: > tst
:   var1  var2
: 1    a   150
: 2    b   210
: 3    c   140
: 4    d   150
: 5    e   192
: 6    f   497
: 7    g 3.350

Details on the data frame:

: > str(tst)
: 'data.frame':    7 obs. of  2 variables:
:  $ var1: chr  "a" "b" "c" "d" ...
:  $ var2: chr  "150" "210" "140" "150" ...

It seems Org knows that the values on column "var2" are numbers and
converts the strings to numbers, applying some obscure trimming on the
digits. The "3.350" value needs to be left as is.