exportando mesa de R
Estou tentando exportar uma tabela de um bloco de código R e li Resultados da avaliação (o manual da organização), que afirma que as tabelas podem ser geradas com opções de cabeçalho de :exports results :results value table.
Para obter a tabela no formato correto, estou usando a toOrgfunção de pacote R do orgutils .
Infelizmente, não parece funcionar com este exemplo simples ...
#+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
Compilando para HTML, recebo apenas o código, nenhuma tabela é mostrada no buffer Org em si (as figuras são mostradas embutidas) e nenhuma tabela no HTML resultante.
Se eu executar apenas o código R dentro de uma sessão R, ele imprime ...
> 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 |
Realmente não consigo ver o que estou fazendo de errado aqui e quaisquer sugestões serão recebidas com gratidão.
Respostas
Primeiro, duas observações: seu exemplo não é perfeitamente reproduzível (você não importa a biblioteca R conveniente para o %>%operador e há um erro de digitação no cabeçalho do segundo bloco src). Não sei se isso explica tudo, mas pode explicar parte do seu problema.
Não tenho certeza de porque você precisa de um pacote R externo para um exemplo tão simples. Usando a abordagem do modo org padrão, isso funciona:
#+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
Caso contrário, se você realmente deseja usar este pacote, o tipo de resultado não deve ser um value; deveria ser em raw outputvez disso. O seguinte bloco src é perfeitamente equivalente ao anterior:
#+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