0
當我在命令行上嘗試它時,我可以獲得4x4圖表,但不能在下面的代碼中使用-loop和png元素。我很沮喪,問題是什麼,我試圖瞭解這個現在幾個小時,不能前進。R:使用for -loop和png繪製4x4圖,爲什麼要獲得1x1而不是4x4?
只需要$ R CMD Sweave paper.Rnw
,$ pdflatex paper.tex
和$ evince paper.pdf
將下面的代碼複製到paper.Rnw文件後,您將得到1x1而不是4x4的圖。爲什麼?
$ mkdir Pictures
$ mkdir Data
$ cd Data
$ wget https://noppa.aalto.fi/noppa/kurssi/mat-2.3128/harjoitustyot/Mat-2_3128_data_2.xls
$ cd ..
$ cat paper.Rnw
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{graphicx}
\begin{document}
<<echo=FALSE>>=
library(gdata)
f<-read.xls('./Data/Mat-2_3128_data_2.xls')
for(i in 1:ncol(f))
{
png(paste('./Pictures/CO',i,'.png',sep =''))
par(mfrow=c(2,2))
plot(pacf(na.omit(f[,i])), main=paste('Pacf', i))
plot(acf(na.omit(f[,i])), main=paste('Acf', i))
plot(na.omit(f[,i]), main=paste('Data', i), type='l')
}
@
\subsection{Time-serie C1}
\includegraphics{./Pictures/CO1.png}
\subsection{Time-serie C2}
\includegraphics{./Pictures/CO2.png}
\subsection{Time-serie C3}
\includegraphics{./Pictures/CO3.png}
\subsection{Time-serie C4}
\includegraphics{./Pictures/CO4.png}
\subsection{Time-serie C5}
\includegraphics{./Pictures/CO5.png}
\end{document}
如果你的'面值(mfrow = ...)'是外循環? – Andrie
@Andrie:可能不是因爲它應該用相同的邏輯創建許多4x4圖片。 – hhh
看起來像在代碼塊的末尾缺少一個正在關閉的'dev.off()'調用,該調用以'png(paste ...')打開一個png圖形設備開頭,是否解決了這個問題? –