Pozwól mi utworzyć kilka danych, zanim zadaję pytanie.Tworzenie tabeli lateksowej z obiektu nadającego się do użytku w R
my.data <- data.frame(A = sample(seq(1,100,by=5),10,replace=TRUE),W = rnorm(10),X =sample(1:10),Y = sample(c("yes", "no"), 10, replace = TRUE),Z=sample(c('a','b','c','d'),10,replace=TRUE))
attach(my.data)
my.d <- xtabs(W~Z+Y+A);my.d
table.data <- ftable(my.d)
result1 <- round(table.data,2)
wynik1 wygląda ..
A 6 11 16 26 71 76 86 91
Z Y
a no 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
yes 0.00 0.56 0.00 0.00 0.00 0.79 0.00 0.01
b no 0.61 0.00 -0.22 0.14 0.00 0.00 -0.08 1.71
yes 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
c no 0.00 0.00 0.00 0.00 -0.08 0.00 0.00 0.00
yes 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
d no 0.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00
yes 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
ja faktycznie pisania artykułu za pomocą pakietu knitr. Czy istnieje sposób transformacji wyniku result1 do tabeli lateksu automatycznie po spełnieniu mojego pliku * .rnw?
Próbowałem z xtable ale mam następujący błąd ...
Error in UseMethod("xtable") : no applicable method for 'xtable' applied to an object of class "ftable"
Dziękuję @DWin i @Yihui. Oprócz lateksu(), to również xtable jak stwierdzono w
print(xtable(ftable2data.frame(result1)))
Aby usunąć nazwy konieczne rzędu I tak następujące
print(xtable(ftable2data.frame(result1)),include.rownames=FALSE)
lateks (ftable2data.ramka (wynik1)) wydaje się nie odpowiadać @ DWin –
Obsługa konfiguracji LaTeX może być inna niż moja. –
Chyba musisz uniemożliwić 'latex()' automatyczne kompilowanie pliku tex (domyślnie): użyj 'latex (ftable2data.frame (result1), file = '')'; Pamiętaj także, aby ustawić opcję porcji 'results = asis' lub' results = tex' –