From mboxrd@z Thu Jan 1 00:00:00 1970 From: tsd@tsdye.com (Thomas S. Dye) Subject: Re: was this intentional with the default header ":results value" Date: Sat, 14 Jul 2012 17:54:09 -1000 Message-ID: References: <87pq7zhh75.fsf@gmail.com> <87d33xn8iu.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:46474) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SqFuV-0006SS-3H for emacs-orgmode@gnu.org; Sat, 14 Jul 2012 23:54:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SqFuT-0006nb-QK for emacs-orgmode@gnu.org; Sat, 14 Jul 2012 23:54:19 -0400 Received: from oproxy6-pub.bluehost.com ([67.222.54.6]:58896) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1SqFuT-0006nL-Ga for emacs-orgmode@gnu.org; Sat, 14 Jul 2012 23:54:17 -0400 In-Reply-To: (Thomas S. Dye's message of "Sat, 14 Jul 2012 17:33:39 -1000") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Luo Cc: emacs-orgmode@gnu.org Or, fiddling a bit more. #+name: luo #+BEGIN_SRC R :results output raw library(ascii) df <- data.frame(c1=3D"123456789123456789000",c2=3D2) df$c1 <- as.vector(df$c1) print(ascii(df,digits=3Dc(0,0),include.rownames=3DF),type=3D"org") #+END_SRC #+RESULTS: luo | c1 | c2 | |-----------------------+----| | 123456789123456789000 | 2 | tsd@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=3D"123456789123456789000",c2=3D2) > df$c1 <- as.vector(df$c1) > print(ascii(df),type=3D"org") > #+END_SRC > > #+RESULTS: luo > #+BEGIN_ORG > | | c1 | c2 | > |---+-----------------------+------| > | 1 | 123456789123456789000 | 2.00 | > #+END_ORG > > All the best, > Tom > > Eric Luo writes: > >> tsd@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=3D"c123456789123456789",c2=3D2) >> | df$c1 <- as.vector(df$c1) >> | df >> | #+END_SRC >> |=20 >> | #+RESULTS: >> | | c123456789123456789 | 2 | >> |=20 >> `---- >> >>> Aloha Eric, >>> >>> Eric Luo writes: >>> >>>> Hi,=20 >>>> Why in the following code block, c1 was printed as scientific notation >>>> rather then characters. >>>> ,---- >>>> |=20 >>>> | #+BEGIN_SRC R :results value >>>> | df <- data.frame(c1=3D"123456789123456789",c2=3D2) >>>> | #+END_SRC >>>> |=20 >>>> | #+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 =E2= =80=98%g=E2=80=99 >>> which uses scientific notation if that is a shorter representation. >>> >>> >>>> But if the header :results output, the result was expected. >>>> ,---- >>>> |=20 >>>> | #+BEGIN_SRC R :results output=20 >>>> | df <- data.frame(c1=3D"123456789123456789",c2=3D2) >>>> | df >>>> | #+END_SRC >>>> |=20 >>>> | #+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.=20 >>> >>> hth, >> >> >> --=20 Thomas S. Dye http://www.tsdye.com