在循环中出错ggplot

时间:2017-07-20 06:44:56

标签: r ggplot2

大家好我试图从csv文档导入多个数据站,然后将它们的信息绘制成一个循环。 我想将我的信息虚拟存储在R中以操纵它们。另外,我需要找到一种在矩阵中显示所有绘图的方法。最后是另一张只有1个绘图的图表,用于绘制我的所有数据站。我希望你能帮助我。

我的数据只有2列,Date和Deep如下:

ldat <- lapply(1:18, function(x) data.table(Date = sample(seq(as.Date('2016/01/01'), as.Date('2016/01/31'), by="day"), 12),
                                        Deep = runif(12, min = 32, max = 100)))

因此,要导入文档并绘制即时代码。

rutas<-list.files()
length(rutas)
par(mfrow=c(length(rutas), 2))
for (i in 1:length(rutas)) {
tabla<-read.csv(rutas[i],header=T,sep=";", as.is = TRUE,stringsAsFactors=FALSE)
as.numeric(tabla$Deep)
with(tabla, dmy_hm(Date))
a<-ggplot(tabla)+
  aes(x = as.Date(Date), y = Deep) + geom_point(colour="blue") +
  scale_x_date(labels=date_format("%Y-%m"),breaks = pretty_breaks(25)) +
  scale_y_continuous(breaks = scales::pretty_breaks(n = 10))+
  ggtitle(rutas[i]) +
  xlab("Date") + ylab("Deep m")+
  theme(axis.text.x = element_text(angle = 90, hjust = 1))
a}

但是在运行对象“a”之后我遇到了麻烦,每当循环结束时变量tabla变成一个只有1列的新文件并弹出这个错误

"Error in: "$<-.data.frame`(*tmp*, "Deep", value = numeric(0)) : 
  replacement has 0 rows, data has 65713"

如果有另一种方法可以避免这个错误,请告诉我。

0 个答案:

没有答案