* Wrong results from R source block when returning a list
@ 2015-11-03 12:08 Rainer M Krug
2015-11-03 16:59 ` Charles C. Berry
0 siblings, 1 reply; 3+ messages in thread
From: Rainer M Krug @ 2015-11-03 12:08 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1465 bytes --]
Hi
The following code block returns a wrong table / list:
#+begin_src R :results value list
list(1:10, 1:5)
#+end_src
#+RESULTS:
- (1 1)
- (2 2)
- (3 3)
- (4 4)
- (5 5)
- (6 1)
- (7 2)
- (8 3)
- (9 4)
- (10 5)
The result is actually in R:
#+begin_src R :results output
list(1:10, 1:5)
#+end_src
#+RESULTS:
: [[1]]
: [1] 1 2 3 4 5 6 7 8 9 10
:
: [[2]]
: [1] 1 2 3 4 5
This is likely caused by the recycling rules in R, but it is actually
wrong in the org context:
The shown result is:
#+begin_src R :results table
list(1:10, 1:5)
#+end_src
#+RESULTS:
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 1 |
| 7 | 2 |
| 8 | 3 |
| 9 | 4 |
| 10 | 5 |
Whil;e I would expect:
#+RESULTS:
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
I have no idea if this is a bug or wrong result due to incompatible
types (R list and org table)?
Is this mentioned in the manual?
Rainer
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa
Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44
Fax (D): +49 - (0)3 21 21 25 22 44
email: Rainer@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 454 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Wrong results from R source block when returning a list
2015-11-03 12:08 Wrong results from R source block when returning a list Rainer M Krug
@ 2015-11-03 16:59 ` Charles C. Berry
2015-11-05 11:06 ` Rainer M Krug
0 siblings, 1 reply; 3+ messages in thread
From: Charles C. Berry @ 2015-11-03 16:59 UTC (permalink / raw)
To: Rainer M Krug; +Cc: emacs-orgmode
On Tue, 3 Nov 2015, Rainer M Krug wrote:
> Hi
>
> The following code block returns a wrong table / list:
>
>
> #+begin_src R :results value list
> list(1:10, 1:5)
> #+end_src
>
> #+RESULTS:
> - (1 1)
> - (2 2)
> - (3 3)
> - (4 4)
> - (5 5)
> - (6 1)
> - (7 2)
> - (8 3)
> - (9 4)
> - (10 5)
>
> The result is actually in R:
In particular in `org-babel-R-write-object-command' which uses
write.table() which uses as.data.frame() which dispatches to
as.data.frame.list() which calls data.frame() where the recycling occurs.
[snip]
> I have no idea if this is a bug or wrong result due to incompatible
> types (R list and org table)?
If you can't coerce a non-atomic R object to a data.frame and get a
pleasing result, you need to craft your own solution.
>
> Is this mentioned in the manual?
Not that I know of. A comment in `Results Types' in ob-doc-R -
http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-R.html#orgheadline6
- might be helpful.
Chuck
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Wrong results from R source block when returning a list
2015-11-03 16:59 ` Charles C. Berry
@ 2015-11-05 11:06 ` Rainer M Krug
0 siblings, 0 replies; 3+ messages in thread
From: Rainer M Krug @ 2015-11-05 11:06 UTC (permalink / raw)
To: Charles C. Berry; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1698 bytes --]
"Charles C. Berry" <ccberry@ucsd.edu> writes:
> On Tue, 3 Nov 2015, Rainer M Krug wrote:
>
>> Hi
>>
>> The following code block returns a wrong table / list:
>>
>>
>> #+begin_src R :results value list
>> list(1:10, 1:5)
>> #+end_src
>>
>> #+RESULTS:
>> - (1 1)
>> - (2 2)
>> - (3 3)
>> - (4 4)
>> - (5 5)
>> - (6 1)
>> - (7 2)
>> - (8 3)
>> - (9 4)
>> - (10 5)
>>
>> The result is actually in R:
>
>
> In particular in `org-babel-R-write-object-command' which uses
> write.table() which uses as.data.frame() which dispatches to
> as.data.frame.list() which calls data.frame() where the recycling
> occurs.
Thanks for this info - I thought something along these lines, but this
makes it clear why.
>
> [snip]
>
>> I have no idea if this is a bug or wrong result due to incompatible
>> types (R list and org table)?
>
> If you can't coerce a non-atomic R object to a data.frame and get a
> pleasing result, you need to craft your own solution.
Yup - I did it in R
>
>>
>> Is this mentioned in the manual?
>
> Not that I know of. A comment in `Results Types' in ob-doc-R -
>
> http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-R.html#orgheadline6
>
> - might be helpful.
Yes - thanks,
Rainer
>
> Chuck
--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa
Tel : +33 - (0)9 53 10 27 44
Cell: +33 - (0)6 85 62 59 98
Fax : +33 - (0)9 58 10 27 44
Fax (D): +49 - (0)3 21 21 25 22 44
email: Rainer@krugs.de
Skype: RMkrug
PGP: 0x0F52F982
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 454 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-11-05 11:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-03 12:08 Wrong results from R source block when returning a list Rainer M Krug
2015-11-03 16:59 ` Charles C. Berry
2015-11-05 11:06 ` Rainer M Krug
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).