我自动保存图表时收到此错误消息,因此我将基于this代码的一个非常简单的示例放在一起,以说明我的挫败感。
这是基于示例的代码,显然有效:
names <- LETTERS[1:5]
for(i in seq_along(names)){
x <- rnorm(10, 5, 1)
y <- seq(1:10)
mypath <- file.path("YOUR_FILE_PATH",paste("myplot_", names[i], ".tiff", sep = ""))
tiff(file=mypath)
mytitle <- paste("my title is", names[i])
plot(x,y, main = mytitle)
dev.off()
}
现在用names
替换POSIXlt
对象中的字符串:
dates <- c("2015-04-27 14:30:00","2015-04-27 18:15:00",
"2015-04-27 22:30:00","2015-04-27 22:45:00",
"2015-04-27 23:00:00")
dates <- as.data.frame(dates)
dates <- strptime(dates$dates,format = "%Y-%m-%d %H:%M:%S")
for(i in seq_along(dates)){
x <- rnorm(10, 5, 1)
y <- seq(1:10)
mypath <- file.path("YOUR_FILE_PATH",paste("myplot_", dates[i], ".tiff", sep = ""))
tiff(file=mypath)
mytitle <- paste("my title is", dates[i])
plot(x,y, main = mytitle)
dev.off()
}
然后我得到一个弹出窗口,上面写着“FILEPATH / myplot_2015-04-27 14:30:00.tiff:无法打开”,R会给出以下错误信息:
Warning messages:
1: In dev.off() :
unable to open TIFF file 'FILEPATH/myplot_2015-04-27 14:30:00.tiff'
好的,所以R似乎不喜欢POSIXlt
对象。让我们试着打印这些图:
for(i in seq_along(dates)){
x = rnorm(10, 5, 1)
y = seq(1:10)
mytitle = paste("my title is", dates[i])
print(plot(x,y, main = mytitle))
}
这至少在重新启动R之后仍然有效,因为它仍然出于某种原因想要将绘图打印到之前指定的文件路径。所以问题不是格式,而是保存到文件。有人可以向我解释一下吗?