Or, fiddling a bit more. #+name: luo #+BEGIN_SRC R :results output raw library(ascii) df <- data.frame(c1="123456789123456789000",c2=2) df$c1 <- as.vector(df$c1) print(ascii(df,digits=c(0,0),include.rownames=F),type="org") #+END_SRC
#+RESULTS: luo | c1 | c2 | |-----------------------+----| | 123456789123456789000 | 2 | t...@tsdye.com (Thomas S. Dye) writes: > Hi Eric, > > I don't know any way to do this in Org-mode. Here is a workaround in R > that might do what you want. > > #+name: luo > #+BEGIN_SRC R :results output org > library(ascii) > df <- data.frame(c1="123456789123456789000",c2=2) > df$c1 <- as.vector(df$c1) > print(ascii(df),type="org") > #+END_SRC > > #+RESULTS: luo > #+BEGIN_ORG > | | c1 | c2 | > |---+-----------------------+------| > | 1 | 123456789123456789000 | 2.00 | > #+END_ORG > > All the best, > Tom > > Eric Luo <eric.we...@gmail.com> writes: > >> t...@tsdye.com (Thomas S. Dye) writes: >> >> Thanks, it's clear to me with the difference between "value" and >> "output" now. >> >> whether there is a way to tell emacs-lisp that "123456789123456789" is a >> string rather than a number. >> >> emacs-lisp handles the output as expected if the c1 has any character >> other than numbers as the following. >> ,---- >> | #+BEGIN_SRC R >> | df <- data.frame(c1="c123456789123456789",c2=2) >> | df$c1 <- as.vector(df$c1) >> | df >> | #+END_SRC >> | >> | #+RESULTS: >> | | c123456789123456789 | 2 | >> | >> `---- >> >>> Aloha Eric, >>> >>> Eric Luo <eric.we...@gmail.com> writes: >>> >>>> Hi, >>>> Why in the following code block, c1 was printed as scientific notation >>>> rather then characters. >>>> ,---- >>>> | >>>> | #+BEGIN_SRC R :results value >>>> | df <- data.frame(c1="123456789123456789",c2=2) >>>> | #+END_SRC >>>> | >>>> | #+RESULTS: >>>> | | 1.2345678912345678e+17 | 2 | >>>> `---- >>> >>> With :results value the results are passed from the source language into >>> emacs-lisp and then displayed in the buffer. So, the representation of >>> things like very large numbers depends on how that was done in >>> emacs-lisp, independent of the source language conventions. In this >>> case, I suspect the number was written with a formatting string and ā%gā >>> which uses scientific notation if that is a shorter representation. >>> >>> >>>> But if the header :results output, the result was expected. >>>> ,---- >>>> | >>>> | #+BEGIN_SRC R :results output >>>> | df <- data.frame(c1="123456789123456789",c2=2) >>>> | df >>>> | #+END_SRC >>>> | >>>> | #+RESULTS: >>>> | : c1 c2 >>>> | : 1 123456789123456789 2 >>>> `---- >>>> >>> >>> With :results output the results aren't translated into emacs-lisp. >>> Instead, the output from the source language is collected and displayed >>> in the buffer. Thus, the output conventions of the source language are >>> respected. >>> >>> hth, >> >> >> -- Thomas S. Dye http://www.tsdye.com