Knitr: survplot в цикле не создаются при следовании за другим survplot.

Ниже приведен минимальный пример:

\documentclass{article}
\begin{document}

<<data, results='hide', echo=FALSE, include=FALSE>>= 
library(rms)
fake.survival.data <- Surv(1:30, rep(1, 30))
fit <- survfit(fake.survival.data ~ 1)  
@

<<threeplots>>=
survplot(fit, xlab = "zeroth plot")

for(j in c("first plot", "second plot")){
  survplot(fit, xlab = j)
}
@

Из двух графиков в цикле for создается только второй (вообще: только последний). Проблема, похоже, связана именно с survplot: если мы добавим обычный сюжет после одного из survplot, например:

\documentclass{article}
\begin{document}

<<data, results='hide', echo=FALSE, include=FALSE>>= 
library(rms)
fake.survival.data <- Surv(1:30, rep(1, 30))
fit <- survfit(fake.survival.data ~ 1)  
@

<<threeplots>>=
survplot(fit, xlab = "zeroth plot")
plot(c(1,1), xlab = "normal plot")
for(j in c("first plot", "second plot")){
  survplot(fit, xlab = j)
}
@

or:

   \documentclass{article}
\begin{document}

<<data, results='hide', echo=FALSE, include=FALSE>>= 
library(rms)
fake.survival.data <- Surv(1:30, rep(1, 30))
fit <- survfit(fake.survival.data ~ 1)  
@

<<threeplots>>=
survplot(fit, xlab = "zeroth plot")

for(j in c("first plot", "second plot")){
  survplot(fit, xlab = j)
  plot(c(1, 1) xlab = j)
}
@

все сюжеты производятся там, где вы их ожидаете.

Кто-нибудь знает, что здесь происходит?

Заранее спасибо, Винсент


person Vincent    schedule 19.04.2013    source источник


Ответы (1)


Это связано с ошибкой в ​​пакете evaluate. Я исправил это и отправил исправление автору пакета. На данный момент вы можете

library(devtools)
install_github('evaluate', 'yihui')
install_github('knitr', 'yihui')
person Yihui Xie    schedule 25.04.2013
comment
Извините за запоздалую реакцию! Большое спасибо! - person Vincent; 08.05.2013