这是我的代码,它是更大脚本的一部分。
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
png(paste(survPath,"/surv_",d1,".png",sep=""))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
}
我还不知道这段代码到底是做什么的,所以我试着看看每个单独的情节,看看它是什么。问题是,无论何时我在Linux终端的R命令行中运行它,都不会出现任何问题。我必须多次使用dev.off(),然后重新运行此代码:
plot(survfit1)
要出现的东西。我怎么能看到所有的情节?
答案 0 :(得分:2)
听起来这就是你想要的:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
x11() ## open up new graphical window for each plot (to avoid overwriting)
plot(survfit1,xlab="Years",ylab="Survival probability",
xmax=xmax1, main = d1) ## use different titles to distinguish those plots
}
这将在正常的图形窗口上生成图。
如果您想使用原始代码,最好这样做:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
png(paste(survPath,"/surv_",d1,".png",sep=""))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
dev.off()
}
然后,查看getwd()
给出的目录。所有图都保存在png
个文件中。
答案 1 :(得分:0)
在for循环期间调用Sys.sleep(.1)可能会有所帮助。也许试试:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
Sys.sleep(.1)
png(paste(survPath,"/surv_",d1,".png",sep="", collapse="))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
dev.off()
}