Hello,
I'm *guessing* that this is more likely an issue of R than of org-mode.
Have you tried tangling the code and simply running the scripts through R?
Essentially, the as.matrix function call is returning a character
matrix, which could mean your object 'alldata' has some factors instead
of numeric columns.
R 2.7.1 is, by R standards, ancient, so it would not surprise me a bit
if the differences were because of that old version.
Unless you can show that this is somehow org-mode related, I'd construct
a reproducible example and ask R-help. In any case, reproducible
example will help in solving the problem.
Good luck!
--Erik
Sébastien Vauban wrote:
Hello,
For a report I'm writing, I've been helped by a colleague of mine (let's call
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=lSSSS
| | \s{Année 2010} | \s{Année 2011} | \s{Année 2012} |
\s{Année 2013} |
|------------------------+----------------+----------------+----------------+----------------|
| RFO | 2596376.30 | 1500000.00 | 500000.00 |
500000.00 |
| RFO réseau structurant | 3804467.00 | 6534066.00 | 3804467.00 |
0.00 |
| Équipements | 1000000.00 | 150000.00 | 50000.00 |
50000.00 |
|------------------------+----------------+----------------+----------------+----------------|
| Total (HTVA) | 7400843.30 | 8184066.00 | 4354467.00 |
550000.00 |
#+TBLFM:
@5$2=vsum(@-...@-ii);%.2f::@5$3=vsum(@-...@-ii);%.2f::@5$4=vsum(@-...@-ii);%.2f::@5$5=vsum(@-...@-ii);%.2f
whose graphical representation is:
#+srcname: barplot-investment(ptable = investissement-2010-2013)
#+begin_src R :file 1-01-investissement-2010-2013.png :exports none :session
source("mcplot.R", local=TRUE)
## select the last row only, exclude first column, scale: unit = 1M
alldata <- as.matrix(ptable[2:4, -1]) / 1000000
axisLabels <- c("Année", "Montant HTVA (M€)")
mcStackedBarplot(alldata, "Investissements", c(2010:2013), ptable[-nrow(ptable),1],
legend.location="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
=as.matrix(ptable[2:4, -1])=... Verification:
--8<---------------cut here---------------start------------->8---
ptable
V1 V2 V3 V4
1 \\s{Année 2010} \\s{Année 2011} \\s{Année 2012}
2 RFO 2596376.3 1500000.0 500000.0
3 RFO réseau structurant 3804467.0 6534066.0 3804467.0
4 Équipements 1000000.0 150000.0 50000.0
5 Total (HTVA) 7400843.3 8184066.0 4354467.0
V5
1 \\s{Année 2013}
2 500000.0
3 0.0
4 50000.0
5 550000.0
as.matrix(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---
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 = investissement-2010-2013)
#+begin_src R :file 1-01-investissement-sva-2010-2013.png :exports none :session
source("mcplot.R", local=TRUE)
## select the last row only, exclude first column, scale: unit = 1M
alldata <- matrix(as.numeric(as.matrix(ptable[2:4, -1])), nrow=3, ncol=4) /
1000000
axisLabels <- c("Année", "Montant HTVA (M€)")
mcStackedBarplot(alldata, "Investissements", c(2010:2013), ptable[2:4,1],
legend.location="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 =ptable= 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
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode