2015-04-08 4 views
1

Я знаю, что функции xtable и print.xtable могут преобразовывать data.frame в html или латексный код. Есть ли способ конвертировать его в таблицу MediaWiki?Преобразование data.frame в таблицу MediaWiki

+1

Вы могли бы пойти по пути [потворствовать] (http://rapporter.github.io/pander/) + [pandoc] (HTTP://johnmacfarlane.net/pandoc/). Там может быть более прямой путь. –

+0

Какая уместная разметка wiki (есть много разных форматов)? Простейшей стратегией может быть вывод в один из поддерживаемых форматов xtable, а затем использование pandoc для преобразования. – Thomas

+0

@ Томас, как я могу это узнать? Я использую mediawiki по умолчанию – RockScience

ответ

2

Я хотел бы использовать функцию kable из knitr создать представление уценки, а затем сделать системный вызов pandoc создать МедиаВики таблицу:

library("knitr") 
cat(kable(mtcars), file = "mtcars.md", sep = "\n") 
system("pandoc -t mediawiki -o mtcars.txt mtcars.md") 

Файл mtcars.md будет выглядеть:

|     | mpg| cyl| disp| hp| drat| wt| qsec| vs| am| gear| carb| 
|:-------------------|----:|---:|-----:|---:|----:|-----:|-----:|--:|--:|----:|----:| 
|Mazda RX4   | 21.0| 6| 160.0| 110| 3.90| 2.620| 16.46| 0| 1| 4| 4| 
|Mazda RX4 Wag  | 21.0| 6| 160.0| 110| 3.90| 2.875| 17.02| 0| 1| 4| 4| 
|Datsun 710   | 22.8| 4| 108.0| 93| 3.85| 2.320| 18.61| 1| 1| 4| 1| 
|Hornet 4 Drive  | 21.4| 6| 258.0| 110| 3.08| 3.215| 19.44| 1| 0| 3| 1| 
|Hornet Sportabout | 18.7| 8| 360.0| 175| 3.15| 3.440| 17.02| 0| 0| 3| 2| 
|Valiant    | 18.1| 6| 225.0| 105| 2.76| 3.460| 20.22| 1| 0| 3| 1| 
|Duster 360   | 14.3| 8| 360.0| 245| 3.21| 3.570| 15.84| 0| 0| 3| 4| 
... 

pandoc преобразует его в представление MediaWiki:

{| 
! 
!align="right"|mpg 
!align="right"|cyl 
!align="right"|disp 
!align="right"|hp 
!align="right"|drat 
!align="right"|wt 
!align="right"|qsec 
!align="right"|vs 
!align="right"|am 
!align="right"|gear 
!align="right"|carb 
|- 
|Mazda RX4 
|align="right"|21.0 
|align="right"|6 
|align="right"|160.0 
|align="right"|110 
|align="right"|3.90 
|align="right"|2.620 
|align="right"|16.46 
|align="right"|0 
|align="right"|1 
|align="right"|4 
|align="right"|4 
|- 
... 

И результат после запуска через MediaWiki выглядит правильно:

enter image description here

+0

Я пробовал использовать pandoc 1.9.1.1: файл 'mtcars.md' такой же, как ваш. Но файл «mtcars.txt» не содержит код медиавика, но что-то похожее на «mtcars.md» (но только на одну строку). Есть ли что-то, что мне нужно для настройки в pandoc? – RockScience

+0

и я подтверждаю, что я использую аргумент '-t mediawiki' – RockScience

+0

@RockScience Это было сделано с использованием pandoc 1.13.2. Рассмотрите возможность обновления и посмотрите, работает ли это для вас. – Thomas

Смежные вопросы