emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [ob-R] table variable passing broken


From: Andreas Leha
Subject: Re: [O] [ob-R] table variable passing broken
Date: Tue, 14 Oct 2014 20:03:50 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (darwin)

Charles Berry <address@hidden> writes:
> Andreas Leha <andreas.leha <at> med.uni-goettingen.de> writes:
>
>> 
>> Hi all,
>> 
>> There seems to be a bug in table passing as variables now using the
>> tangle-friendly version of passing variables.
>> 
>> Here is an example (I get an error also with emacs -Q):
>> 
>> --8<---------------cut here---------------start------------->8---
>> * test
>> #+name: testtab
>> | variable              | display                       | unit  |
>> |-----------------------+-------------------------------+-------|
>> | num_cells             | Number of Cells in Well       |       |
>> | cell_area             | Cell Area                     | μm²   |
>> | nucleus_area          | Nucleus Area                  | μm²   |
>> | roundness             | Cell Roundness                |       |
>> | ratio_w2l             | Cell Width to Length Ratio    |       |
>> | inten_nuc_dapi_median | Intensity Nucleus DAPI Median |       |
>> | dapi_median           | Intensity Nucleus DAPI Median |       |
>> | edu_median            | Intensity edu Median          |       |
>> | oct4_median           | Intensity oct4 Median         |       |
>> | clump_size            | Clump Size                    | cells |
>> | short_name            | Cell Line                     |       |
>> | p_col                 | Column                        |       |
>> | batch                 | Batch                         |       |
>> | concentration         | Fibronectin Concentration     | ugml  |
>> | Residual              | Residual                      |       |
>> | evaluation_guid       | Plate                         |       |
>> | donor                 | Genotype                      |       |
>> 
>> #+BEGIN_SRC R :session *test* :var test=testtab
>>   test
>> #+END_SRC
>> 
>> #+RESULTS:
>> --8<---------------cut here---------------end--------------->8---
>> 
>> I see this in my R session:
>> 
>> --8<---------------cut here---------------start------------->8---
>> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, 
>> na.strings,  (from
>> testorg.org!917613Wp#22) : 
>>   line 17 did not have 3 elements
>> --8<---------------cut here---------------end--------------->8---
>> 
>
> I think this is the wrong diagnosis.

I agree.  Saving the table as tsv (via org-table-export) results
in a file that cannot be read from R either.

>
> Did you actually revert to the earlier version of ob-R.el to confirm that 
> this would have run correctly? 

I did not revert.  But that org file used to work.  I won't be able
to bisect any time soon.

>
> The reason I ask is that I just tried this with org-babel-R-assign-elisp
> from 
>
>   org-mode-a5686d87786b1d6514ec85959a2188f703346a06/lisp/ob-R.el
>
> and got the same error. Note this:
>
>
> #+name: testtab2
> | variable | display  | unit |
> |----------+----------+------|
> | donor    | Genotype |      |
>
>   
> #+BEGIN_SRC emacs-lisp :var test=testtab2
> (orgtbl-to-tsv test '(:fmt org-babel-R-quote-tsv-field))
> #+END_SRC
>
> #+RESULTS:
> : "donor"     "Genotype"
>

exactly.  That also causes the org-table-export to fail.

>
> #+BEGIN_SRC emacs-lisp :var value=testtab2
> ;; from org-babel-R-assign-elisp
> (mapcar 'length (org-remove-if-not 'sequencep value))
> #+END_SRC
>
> #+RESULTS:
> | 3 |
>
> In particular, the empty table cells are omitted even though 
>
> `value' or `test' has all lengths as 3. This results in 
> calling read.table ( ..., fill=FALSE) implicitly.
>
> Not sure if the fix is to retool org-babel-R-assign-elisp or something
> in org-table.el.
>

I am the wrong person to answer that.  But it looks to me to be an
issue for org-table.el.

Thanks for your better analysis.

Regards,
Andreas




reply via email to

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