【发布时间】:2016-07-19 15:07:30
【问题描述】:
我正在尝试对多个时间序列的每年的 NA 值求和。我创建了一个仅包含我的日期的向量,然后将其与日期和臭氧值的向量进行比较。我首先创建了一个 for 循环,它遍历我的日期向量的所有日期以仅提取年份。然后,我将年份向量与臭氧和日期值向量中的年份进行比较(这是我的问题所在),然后我希望将每年放入一个向量中并对 NA 值求和。当我尝试遍历日期臭氧向量中的年份时,我要么创建了一个无限循环,要么只提取了第一个变量。
我尝试了几种不同的方法来迭代日期和时间的向量,但我非常卡住。下面列出了我尝试过的其他事情以及我的代码:
totalNA <- c()
for (i in npsfiles[1]) {
timeozone <- import(i, date="DATE", date.format = "%m/%d/%Y", header=TRUE, na.strings="-999")
O3 <- c(timeozone$O3)
tyr <- substr(timeozone$date, 1, 10)
ozone <- O3
names(ozone) <- tyr
for (d in as.character(tyr)) {
theyears <- format.Date(d, "%Y")
print(theyears)
for (y in length(ozone)) {
if (names(ozone[y]) == theyears) {
totalNA <- c(totalNA, ozone[y])}
print(y)
}
}
}
我的问题在于第三个 for 循环。我也试过:
for (y in seq(1:length(ozone))
for (y in ozone)
for (y in names(ozone))
这是一些数据:
ABBR DATE O3
BADL-VC 10/01/1987 02 -999
BADL-VC 10/01/1987 03 -999
BADL-VC 01/01/1989 10 12
BADL-VC 01/01/1989 11 13
BADL-VC 01/01/1989 12 14
【问题讨论】:
-
import()是什么包?请包括任何图书馆声明。 -
进口是露天的,我认为这是唯一使用的包。