From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Leha Subject: Re: [ob-R] table variable passing broken Date: Tue, 14 Oct 2014 20:03:50 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54820) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xe7O3-00016G-V2 for emacs-orgmode@gnu.org; Tue, 14 Oct 2014 15:04:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xe7Ny-00073y-Iu for emacs-orgmode@gnu.org; Tue, 14 Oct 2014 15:03:59 -0400 Received: from plane.gmane.org ([80.91.229.3]:56113) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xe7Ny-00073q-Cc for emacs-orgmode@gnu.org; Tue, 14 Oct 2014 15:03:54 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1Xe7Nw-0000sL-IL for emacs-orgmode@gnu.org; Tue, 14 Oct 2014 21:03:52 +0200 Received: from cpc33-cmbg15-2-0-cust4.5-4.cable.virginm.net ([81.102.136.5]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 14 Oct 2014 21:03:52 +0200 Received: from andreas.leha by cpc33-cmbg15-2-0-cust4.5-4.cable.virginm.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 14 Oct 2014 21:03:52 +0200 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: emacs-orgmode@gnu.org Charles Berry writes: > Andreas Leha 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