我开始得到一个数据和代码的错误,工作正常,现在不。工作是关于降雨量数据和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
- 代码**
## 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()
的瓶颈
我真的需要你的帮助!非常感谢!
1条答案
按热度按时间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组的一部分时库的冲突有关。新代码:
等等...