Tôi muốn có một tài liệu xoay quanh sẽ bao gồm một số lượng bảng thay đổi. Tôi nghĩ ví dụ bên dưới sẽ hoạt động nhưng không. Tôi muốn lặp lại danh sách foo và in từng phần tử dưới dạng bảng riêng của nó.Cách bao gồm nhiều bảng lập trình vào tài liệu Sweave bằng cách sử dụng R
%
\documentclass[a4paper]{article}
\usepackage[OT1]{fontenc}
\usepackage{longtable}
\usepackage{geometry}
\usepackage{Sweave}
\geometry{left=1.25in, right=1.25in, top=1in, bottom=1in}
\listfiles
\begin{document}
<<label=start, echo=FALSE, include=FALSE>>=
startt<-proc.time()[3]
library(RODBC)
library(psych)
library(xtable)
library(plyr)
library(ggplot2)
options(width=80)
#Produce some example data, here I'm creating some dummy dataframes and putting them in a list
foo<-list()
foo[[1]]<-data.frame(GRP=c(rep("AA",10), rep("Aa",10), rep("aa",10)), X1=rnorm(30), X2=rnorm(30,5,2))
foo[[2]]<-data.frame(GRP=c(rep("BB",10), rep("bB",10), rep("BB",10)), X1=rnorm(30), X2=rnorm(30,5,2))
foo[[3]]<-data.frame(GRP=c(rep("CC",12), rep("cc",18)), X1=rnorm(30), X2=rnorm(30,5,2))
foo[[4]]<-data.frame(GRP=c(rep("DD",10), rep("Dd",10), rep("dd",10)), X1=rnorm(30), X2=rnorm(30,5,2))
@
\title{Docuemnt to test putting a variable number of tables into a sweave Document}
\author{"Paul Hurley"}
\maketitle
\section{Text}
This document was created on \today, with \Sexpr{print(version$version.string)} running
on a \Sexpr{print(version$platform)} platform. It took approx \input{time} sec to process.
<<label=test, echo=FALSE, results=tex>>=
cat("Foo")
@
that was a test, so is this
<<label=table1test, echo=FALSE, results=tex>>=
print(xtable(foo[[1]]))
@
\newpage
\subsection{Tables}
<<label=Tables, echo=FALSE, results=tex>>=
for(i in seq(foo)){
cat("\n")
cat(paste("Table_",i,sep=""))
cat("\n")
print(xtable(foo[[i]]))
cat("\n")
}
#cat("<<label=endofTables>>= ")
@
<<label=bye, include=FALSE, echo=FALSE>>=
endt<-proc.time()[3]
elapsedtime<-as.numeric(endt-startt)
@
<<label=elapsed, include=FALSE, echo=FALSE>>=
fileConn<-file("time.tex", "wt")
writeLines(as.character(elapsedtime), fileConn)
close(fileConn)
@
\end{document}
Ở đây, đoạn table1test hoạt động như mong đợi, và tạo ra một bảng dựa trên dataframe trong foo [[1]], tuy nhiên vòng lặp chỉ sản xuất Bảng (gạch dưới) 1 ....
+1 Ví dụ dễ tái sản xuất. Nếu bạn nhìn vào tài liệu latex cuối cùng, bạn có thấy các bảng khác không? – Shane