emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] was this intentional with the default header ":results value"


From: Thomas S. Dye
Subject: Re: [O] was this intentional with the default header ":results value"
Date: Sat, 14 Jul 2012 17:33:39 -1000

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 <address@hidden> writes:

> address@hidden (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 <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]