2014-05-08 18 views
6

Chciałbym zintegrować niektóre stare skrypty matlab w dokumencie .Rmd dla mojej pracy magisterskiej, aby uniknąć wklejania kopii, którego knitr próbuje uniknąć. czy to możliwe? Używając http://yihui.name/knitr/demo/engines/ udało mi się zintegrować kod Pythona bez problemu, ale matlab jest o wiele trudniejsze.Łączenie skryptów MATLAB w dokument R Markdown

+1

To trochę długiego strzału (prawdopodobnie niemożliwe, jeśli się spieszysz), ale być może twój kod MATLAB jest zgodny z oktawą i możesz poprosić o pomoc w implementacji nowego silnika ? –

Odpowiedz

3

Obecnie wspierane silniki według knitr są

> require(knitr); 
names(knit_engines$get()) 
[1] "awk"  "bash"  "coffee" "gawk"  "haskell" "perl"  "python" "Rscript" "ruby"  "sas"  
[11] "sed"  "sh"  "zsh"  "highlight" "Rcpp"  "tikz"  "dot"  "c"   "asy"  "cat" 

Więc tak, Matlab nie jest aktualnie obsługiwane jako knitr silnika, ale może to (Convert MATLAB code to R) mógłby pomóc w przenoszeniu kodu matlab R

5

knitr został aktualizowane i rzeczywista wersja 1.15.1, umożliwia bardziej wspierane silniki: oktawa jest jednym z nich:

library(knitr) 
names(knit_engines$get()) 

[1] "awk"  "bash"  "coffee" "gawk"  "groovy" 
[6] "haskell" "lein"  "mysql"  "node"  "octave" 
[11] "perl"  "psql"  "python" "Rscript" "ruby"  
[16] "sas"  "scala"  "sed"  "sh"  "stata"  
[21] "zsh"  "highlight" "Rcpp"  "tikz"  "dot"  
[26] "c"   "fortran" "fortran95" "asy"  "cat"  
[31] "asis"  "stan"  "block"  "block2" "js"  
[36] "css"  "sql" 

Aby dodać kod oktawę w używaniu notebooka Rmarkdown:

```{octave} 
# Insert your octave code here 
```