读取csv作为动物园对象时出错 - 某些行带有“错误条目”

时间:2015-08-19 10:03:30

标签: r zoo

我正在研究一系列时间序列的天气数据(可用here)并尝试将其转换为动物园对象,以便我可以使用适用于动物园对象的包('蒸发蒸腾')。

我正在使用的代码是:

require(zoo)
x = read.zoo(file = "OakParkR.csv", format = "%d-%b-%y", tz = "", index.column = 1)

我得到的错误是:

index has bad entries at data rows: 1 36 166 167 214 265 272 276 279 288 290 
292 299 305 308 321 323 328 332 341 344 354 359 372 376 384 392 590 592 676
924 925 1666 1667 1668 1669 2420 2421 2422 2424 2426 2427 2441 2442 2443 2444 2794

从查看其他问题和解决方案 - 我认为日期格式正确,因为只有某些行被突出显示为“错误条目”,而不是全部。除了日期格式错误外,我看不到其他问题。

我不明白为什么某些行只有错误而不是其他行,也许有人以前看过这个问题?

2 个答案:

答案 0 :(得分:1)

您的csv有空值。您可以填充NA,然后转换为zoo对象。你可以试试这个:

x<- read.csv("OakParkR.csv", header=TRUE)
na.fill(x,NA)
x<- zoo(x)
x[33:35]
#date      imax Tmax imin Tmin  irain rain cbl    wdsp ihm hm iddhm ddhm ihg hg soil  
#33 02-Feb-07 0     9.1 0     -1.7 0      0.1 1026.2  3.9 0   10 0     340  0   14  5.970
#34 03-Feb-07 0     9.2 0     -3.0 0      0.0 <NA>    2.4 0    7 0     130  0   11  3.101
#35 04-Feb-07 0     7.7 0     -3.7 0      0.0 1031.8  3.3 0    8 0     330  0   12  2.668

答案 1 :(得分:0)

指定header = TRUEsep = ","并省略tz=""(除非确实需要"POSIXct"个日期时间 - 但由于输入没有"Date"类,如果我们省略tz="",这就是我们得到的,这似乎更合适。)

library(zoo)

z <- read.zoo("OakParkR.csv", header = TRUE, sep = ",", format = "%d-%b-%y")