Вопросы новичка (рисунки, библиография) по Sweave/R/LaTeX --- мой первый документ

Я только начинаю с Sweave и с R. Здесь я использую R для вывода некоторых данных, а также пытаюсь включить график. Код не качает. У меня есть один пример Sweave из Интернета, который хорошо компилируется в RStudio с LaTeX.

\documentclass[a4paper]{article}
\begin{document}
<<echo=TRUE>>=
x <- rnorm(100)
xm <- mean(x)
xm
@

<<echo=FALSE>>=
x <- rnorm(100)
xm <- mean(x)
xm
@

<<echo=TRUE>>= 
test.frame<-read.table(file="apples.d",header=T,sep= "")
names(test.frame)
head(test.frame)
class(test.frame)
@
\begin{figure}[htbp]
\begin{center}
\setkeys{Gin}{width=0.5\textwidth}
<<echo=FALSE,fig=TRUE,width=4,height=4>>=
plot(year,value)
@
\end{center}
\end{document}

а файл apples.d содержит:

#Number of apples I ate
year value
8   12050  #year 2008  
9   15292  #year 2009 
10  23907  #year 2010 
11  33997  #year 2011

Что я делаю неправильно?

Другой связанный вопрос:

Поддерживает ли документ Sweave обычный файл LaTeX bibliography. Как сделать компиляцию?

Большое спасибо...


person yCalleecharan    schedule 01.12.2011    source источник
comment
Вы можете сделать библиографию, как в любом документе LaTeX. Помните, что между фрагментами Sweave это просто код LaTeX.   -  person Roman Luštrik    schedule 01.12.2011
comment
@Роман Спасибо. Это полезно знать новичку. 1 голос вверх   -  person yCalleecharan    schedule 02.12.2011


Ответы (2)


Исправлено несколько проблем, отмеченных %%%% или ####

\documentclass[a4paper]{article}
\begin{document}
<<echo=TRUE>>=
x <- rnorm(100)
xm <- mean(x)
xm
@

<<echo=FALSE>>=
x <- rnorm(100)
xm <- mean(x)
xm
@

<<echo=TRUE>>= 
##### Remove all comments from your data file 
test.frame<-read.table(file="apples.d",header=T,sep= "")
names(test.frame)
head(test.frame)
class(test.frame)
@

\begin{figure}[htbp]
\begin{center}
\setkeys{Gin}{width=0.5\textwidth}
<<echo=FALSE,fig=TRUE,width=4,height=4>>=
#### Must tell plot where to get the data from. Could also use test.frame$year
with(test.frame,plot(year,value))
@
\end{center}
\end{figure}
\end{document}
person Dieter Menne    schedule 01.12.2011
comment
@ Дитер Спасибо. Код работает. Почему вы просите удалить все комментарии из файла даты? 1 голос вверх. - person yCalleecharan; 01.12.2011
comment
Потому что я предполагал, что # не работает в файлах данных. Никогда раньше этого не делал и пропустил comment.char в документах. Никогда не доверяйте предположениям.... - person Dieter Menne; 01.12.2011
comment
Свивинг добавит строку \usepackage{Sweave}, вам не обязательно. - person Aaron left Stack Overflow; 01.12.2011

Sweave не заботится о вашей библиографии, поэтому вам придется составлять ее самостоятельно; Я полагаю, что некоторые люди автоматизировали эту работу в своих R-скриптах, но я бы порекомендовал вам использовать LyX, если вы опытный пользователь LaTeX. LyX имеет официальную поддержку Sweave и разумно заботится обо всем, что вам нужно в LaTeX (включая библиографию). См. руководство: https://github.com/downloads/yihui/lyx/sweave.pdf

person Yihui Xie    schedule 01.12.2011
comment
В порядке. Поэтому я могу использовать BibTeX, как обычно, для компиляции документа. - person yCalleecharan; 02.12.2011