From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?S=C3=A9bastien_Vauban?= Subject: [Org-Babel] and R... non-numeric cells Date: Thu, 12 Aug 2010 17:06:08 +0200 Message-ID: <871va3hnvj.fsf@mundaneum.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hello, For a report I'm writing, I've been helped by a colleague of mine (let's ca= ll him Albert) for the R graphics generation. Here's an extract of my doc: --8<---------------cut here---------------start------------->8--- #+TBLNAME: investissement-2010-2013 #+ATTR_LaTeX: align=3DlSSSS | | \s{Ann=C3=A9e 2010} | \s{Ann=C3=A9e 2011} | \s{A= nn=C3=A9e 2012} | \s{Ann=C3=A9e 2013} | |------------------------+----------------+----------------+---------------= -+----------------| | RFO | 2596376.30 | 1500000.00 | 500000.00= | 500000.00 | | RFO r=C3=A9seau structurant | 3804467.00 | 6534066.00 | 38044= 67.00 | 0.00 | | =C3=89quipements | 1000000.00 | 150000.00 | 500= 00.00 | 50000.00 | |------------------------+----------------+----------------+---------------= -+----------------| | Total (HTVA) | 7400843.30 | 8184066.00 | 4354467.00= | 550000.00 | #+TBLFM: @5$2=3Dvsum(@-I..@-II);%.2f::@5$3=3Dvsum(@-I..@-II);%.2f::@5$4=3Dv= sum(@-I..@-II);%.2f::@5$5=3Dvsum(@-I..@-II);%.2f whose graphical representation is: #+srcname: barplot-investment(ptable =3D investissement-2010-2013) #+begin_src R :file 1-01-investissement-2010-2013.png :exports none :session source("mcplot.R", local=3DTRUE) ## select the last row only, exclude first column, scale: unit =3D 1M alldata <- as.matrix(ptable[2:4, -1]) / 1000000 axisLabels <- c("Ann=C3=A9e", "Montant HTVA (M=E2=82=AC)") mcStackedBarplot(alldata, "Investissements", c(2010:2013), ptable[-nrow(pta= ble),1], legend.location=3D"topright") #+end_src --8<---------------cut here---------------end--------------->8--- That works perfectly for him (on Ubuntu 9.04, R 2.7.1, Emacs 22.2.1, Org 6.= 35) Not for me... on Ubuntu 10.04, R 2.10.1, Emacs 23.1.1, Org 7.01, ESS 5.10: I get the message *Error in as.matrix(ptable[2:4, -1])/1e+06 : non-numeric argument to binary operator* As 1M is numeric, the non-numeric operand must be =3Das.matrix(ptable[2:4, -1])=3D... Verification: --8<---------------cut here---------------start------------->8--- > ptable V1 V2 V3 V4 1 \\s{Ann=C3=A9e 2010} \\s{Ann=C3=A9e 2011} \\s{Ann= =C3=A9e 2012} 2 RFO 2596376.3 1500000.0 500000.0 3 RFO r=C3=A9seau structurant 3804467.0 6534066.0 3804467= .0 4 =C3=89quipements 1000000.0 150000.0 50000= .0 5 Total (HTVA) 7400843.3 8184066.0 4354467.0 V5 1 \\s{Ann=C3=A9e 2013} 2 500000.0 3 0.0 4 50000.0 5 550000.0 > as.matrix(ptable[2:4, -1]) V2 V3 V4 V5=20=20=20=20=20=20=20=20 2 "2596376.3" "1500000.0" "500000.0" "500000.0" 3 "3804467.0" "6534066.0" "3804467.0" "0.0"=20=20=20=20=20 4 "1000000.0" "150000.0" "50000.0" "50000.0"=20 --8<---------------cut here---------------end--------------->8--- The numerics are written between double quotes... Why!? I had temporarily patched the above problem in my document by updating the = line with the assignment: --8<---------------cut here---------------start------------->8--- #+srcname: barplot-investment-sva(ptable =3D investissement-2010-2013) #+begin_src R :file 1-01-investissement-sva-2010-2013.png :exports none :se= ssion source("mcplot.R", local=3DTRUE) ## select the last row only, exclude first column, scale: unit =3D 1M alldata <- matrix(as.numeric(as.matrix(ptable[2:4, -1])), nrow=3D3, ncol=3D= 4) / 1000000 axisLabels <- c("Ann=C3=A9e", "Montant HTVA (M=E2=82=AC)") mcStackedBarplot(alldata, "Investissements", c(2010:2013), ptable[2:4,1], l= egend.location=3D"topright") #+end_src --8<---------------cut here---------------end--------------->8--- and I even just noticed that, instead of complexifying the expression, I can simplify it, in my case, as my =3Dptable=3D is numeric already: --8<---------------cut here---------------start------------->8--- > ptable[2:4, -1] V2 V3 V4 V5 2 2596376.3 1500000.0 500000.0 500000.0 3 3804467.0 6534066.0 3804467.0 0.0 4 1000000.0 150000.0 50000.0 50000.0 --8<---------------cut here---------------end--------------->8--- But I still don't understand what is reponsible of a different treatment of string and numerics between our 2 machines. Any idea? Best regards, Seb --=20 S=C3=A9bastien Vauban _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode-mXXj517/zsQ@public.gmane.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode