下面是一个最小的例子:
\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)
}
@
所有地块都在您期望的地方生成。
有谁知道这里发生了什么?
提前致谢,文森特