我开始从数据和代码中得到一个错误,这些数据和代码工作得很好,但现在没有了。这项工作是关于降雨数据和需要动物园的hydroTSM包。当我进入代码中的某个部分时,包含在hydroTSM包中的一个简单函数将不会运行。经过故障排除,我认为这是与动物园的包装有关,但不是100%确定。
我试图使用裁剪()来清理数据,并使用多种方法将我的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码
## 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)Daily2monthly中的错误(x,FUN = sum,na.rm = TRUE):未使用的参数( na.rm =TRUE=sum)
如果您查看到包的链接,我几乎完全遵循指示,除了我如何格式化我的数据,这是我自己提出的。因此,我也尝试了下面的代码转换为动物园,并得到了这个错误。
x <- read.zoo(df, format = "%d/%m/%Y")Read.zoo中的错误(df,format = "%d/%m/%Y"):索引在数据行有6935个错误条目:
我还尝试并收到了:
m <- daily2monthly(x)UseMethod中的错误(“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()碰壁
我真的需要你的帮助!非常感谢!
发布于 2020-04-29 15:04:53
我找到了解决办法。这里有几个问题。一种是关于我格式化动物园中的日期,另一种是与daily2monthly()所在的库有关。
我做的第一件事就是解决动物园的格式化问题。
出发地: x <- read.zoo(df, format = "%Y-%m-%d")
TO: x <- read.zoo(df, format = "%d/%m/%Y")
解决了动物园的错误。然后,我注意到在控制台中调用函数时出现了库问题:

因此,我查找了R文件,并了解到您可以调用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)等等..。
https://stackoverflow.com/questions/61503216
复制相似问题