Tabelle aus R exportieren
Ich versuche, eine Tabelle aus einem R-Code-Block zu exportieren, und habe die Bewertungsergebnisse (The Org Manual) gelesen, in denen angegeben ist, dass Tabellen mit Header-Optionen von ausgegeben werden können :exports results :results value table.
Um die Tabelle im richtigen Format zu erhalten, verwende ich die R- PaketfunktiontoOrg von orgutils .
Leider scheint es mit diesem einfachen Beispiel nicht zu funktionieren ...
#+STARTUP: align
#+TITLE: Test
#+AUTHOR: Me
#+PROPERTY: header-args:R :session *org-R*
#+PROPERTY: header-args:R :cache yes
#+PROPERTY: header-args:R :results graphics
#+PROPERTY: header-args:R :width 1024
#+PROPERTY: header-args:R :height 768
#+PROPERTY: header-args:R :tangle yes
#+begin_src R :session *org-R* :eval yes :exports none :results output silent
library(orgutils)
library(tidyverse)
#+end_src
#+begin_src R :session *org-R* :eval yes :exports both :results value table
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(21000, 23400, 26800)
startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
employ.data <- data.frame(employee, salary, startdate)
employ.data %>%
toOrg()
#+end_src
Beim Kompilieren in HTML erhalte ich nur den Code, im Org-Puffer selbst wird keine Tabelle angezeigt (Zahlen werden inline angezeigt) und im resultierenden HTML keine Tabelle.
Wenn ich nur den R-Code innerhalb einer R-Sitzung ausführe, wird ...
> employee <- c('John Doe','Peter Gynn','Jolie Hope')
> salary <- c(21000, 23400, 26800)
> startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
> employ.data <- data.frame(employee, salary, startdate)
> employ.data %>%
toOrg()
| employee | salary | startdate |
|------------+--------+------------|
| John Doe | 21000 | 2010-11-01 |
| Peter Gynn | 23400 | 2008-03-25 |
| Jolie Hope | 26800 | 2007-03-14 |
Ich kann wirklich nicht sehen, was ich hier falsch mache und alle Hinweise wären dankbar.
Antworten
Zunächst zwei Bemerkungen: Ihr Beispiel ist nicht perfekt reproduzierbar (Sie importieren die praktische R-Bibliothek für den %>%Operator nicht und es gibt einen Tippfehler in der Kopfzeile Ihres zweiten src-Blocks). Ich weiß nicht, ob dies alles erklärt, aber dies könnte einen Teil Ihres Problems erklären.
Ich bin mir nicht sicher, warum Sie für ein so einfaches Beispiel ein externes R-Paket benötigen. Bei Verwendung des Standardansatzes im Organisationsmodus funktioniert dies einfach:
#+begin_src R :session *org-R* :exports both :results value table :colnames yes
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(21000, 23400, 26800)
startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
employ.data <- data.frame(employee, salary, startdate)
employ.data
#+end_src
Andernfalls sollte der Ergebnistyp nicht a sein, wenn Sie dieses Paket wirklich verwenden möchten value. es sollte raw outputstattdessen sein. Der folgende src-Block entspricht vollkommen dem vorherigen:
#+begin_src R :session *org-R* :exports both :results output raw :colnames yes
employee <- c('John Doe','Peter Gynn','Jolie Hope')
salary <- c(21000, 23400, 26800)
startdate <- as.Date(c('2010-11-1','2008-3-25','2007-3-14'))
employ.data <- data.frame(employee, salary, startdate)
toOrg(employ.data)
#+end_src