From: Andreas Leha <andreas.leha@med.uni-goettingen.de>
To: emacs-orgmode@gnu.org
Subject: Re: [ob-R] table variable passing broken
Date: Thu, 16 Oct 2014 15:02:21 +0100 [thread overview]
Message-ID: <oluwq80dseq.fsf@med.uni-goettingen.de> (raw)
In-Reply-To: olu1tqafp7t.fsf@med.uni-goettingen.de
Andreas Leha <andreas.leha@med.uni-goettingen.de> writes:
> Charles Berry <ccberry@ucsd.edu> 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
To keep this issue going, here a quick thought:
Since orgtbl-to-csv seems to work, a temporary fix on ob-R's side would
be to use that for passing of tables.
Andreas
prev parent reply other threads:[~2014-10-16 14:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-14 13:38 [ob-R] table variable passing broken Andreas Leha
2014-10-14 16:36 ` Charles Berry
2014-10-14 19:03 ` Andreas Leha
2014-10-16 14:02 ` Andreas Leha [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=oluwq80dseq.fsf@med.uni-goettingen.de \
--to=andreas.leha@med.uni-goettingen.de \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.