3

下面是一个最小的例子:

\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)
}
@

或者:

   \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)
}
@

所有地块都在您期望的地方生成。

有谁知道这里发生了什么?

提前致谢,文森特

4

1 回答 1

2

这是由于evaluate包中的一个错误。我已经修复它并将补丁发送给包作者。目前,您可以

library(devtools)
install_github('evaluate', 'yihui')
install_github('knitr', 'yihui')
于 2013-04-25T06:09:56.833 回答