将 csv 读取为动物园对象时出错 - 某些行 'bad entries'

Error reading csv as a zoo object - certain lines with 'bad entries'

我正在处理天气数据的时间序列(可用 here)并尝试将其转换为动物园对象,以便我可以使用适用于动物园对象的包('Evapotranspiration' ).

我使用的代码是:

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

从其他问题和解决方案来看 - 我认为日期格式正确,因为只有某些行被突出显示为 'bad entries',而不是全部。除了日期格式错误,我看不出其他问题。

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

您的 csv 有空值。你可以用 NAs 填充,然后变成一个 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

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

library(zoo)

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