R语言 与动物园套餐和日期相关的错误

hjqgdpho  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(121)

我开始得到一个数据和代码的错误,工作正常,现在不。工作是关于降雨量数据和hydroTSM package,这需要zoo。当我在代码中的一部分,一个简单的函数包括在hydroTSM包无法运行。故障排除后,我认为这与zoo包,但不是100%肯定。
我试着用trimws()清理我的数据,并使用多种方法将我的df转换成动物园,但什么都没有。我已经启动了一个新的R会话并重新启动了我的机器。我还重新安装了HydroTSM。你知道它是什么吗?

    • 数据**

示例

Date, Rainfall
2001-01-01  0.00
2001-01-02  0.00
2001-01-03  0.00
2001-01-04  0.00
2001-01-05  0.00
2001-01-06  0.00
2001-01-07  0.00

LINK TO FILE

    • 代码**
## Library Packages
library(hydroTSM)
library(devtools)

## Read in the data and format for zoo
df <- read.table("Rainfall2" , header = TRUE, sep="\t")
df$Date <- as.Date(df$Date , format = "%m/%d/%y")
x <- zoo(df[, -1], df[, 1])
dates <- time(x)

## Run the daily2monthly function in HydroTSM
m <- daily2monthly(x, FUN=sum, na.rm=TRUE)

每日2每月错误(x,FUN =总和,na.rm =真):未使用的参数(FUN =和,na.rm =真)
如果你看一下软件包的链接,我几乎完全按照说明操作,除了我自己想出来的数据格式,所以我也尝试了下面的代码来转换成zoo,但得到了这个错误。

x <- read.zoo(df, format = "%d/%m/%Y")

读取. zoo(df,格式=" % d/% m/% Y")时出错:索引在数据行中有6935个错误条目:
我还尝试并收到:

m <- daily2monthly(x)

UseMethod中的错误("时间〈-"):没有适用于类"zoo"对象的"time〈-"方法
软件包中的所有其他功能均正常工作,包括:

nyears <- yip(from=start(x), to=end(x), out.type="nmbr" ) )

smry(x)

hydroplot(x, var.type="Precipitation", main="at Lake Caroline",
          pfreq = "dm", from="2001-01-01")

因此,我真的不明白为什么我在这里遇到了daily2monthy()的瓶颈
我真的需要你的帮助!非常感谢!

eufgjt7s

eufgjt7s1#

嗯,我找到了一个变通办法。这里有几个问题。一个与我在zoo中格式化日期有关,另一个与daily2monthly()所在的库有关。
我做的第一件事是修复动物园格式问题。

发件人:x <- read.zoo(df, format = "%Y-%m-%d")
收件人:x <- read.zoo(df, format = "%d/%m/%Y")

这解决了zoo的错误。然后我注意到在控制台中调用函数时的库问题:

因此,我查找了R documentation,了解到您可以调用subdaily2monthly(),我尝试了一下,它工作了。仍然不完全确定原因,但我认为这与从控制台调用函数时假设daily2monthly()应该是hydroTSM组的一部分时库的冲突有关。

新代码:

df <- read.table("Rainfall2" , header = TRUE, sep="\t")
df$Date <- as.Date(df$Date , format = "%m/%d/%y")
x <- zoo(df[, -1], df[, 1])
x <- read.zoo(df, format = "%Y-%m-%d")
m <- subdaily2monthly(x, FUN=sum, na.rm=TRUE)

等等...

相关问题