使用聚合来汇总R中大于70的值

时间:2016-08-15 14:37:49

标签: r sum aggregate

我试图在几个不同的数据集中对大于70的值求和。我相信聚合可以做到这一点,但我的研究并未指出在我的数据集中获得超过70的值的明显解决方案。我首先使用聚合来获取每日最大值,并将这些值放入名为yearmaxs的数据框中。这是我的代码和我尝试过的内容:

每个站点一年中O3> 70的次数

Sys.setenv(TZ = "UTC")
library(openair)
library(lubridate)
filedir <- "C:/Users/dfmcg/Documents/Thesisfiles/8hravg"
myfiles <- c(list.files(path = filedir))
paste(filedir, myfiles, sep = '/')
npsfiles <- c(paste(filedir, myfiles,sep = '/'))

for (i in npsfiles[22]) {

  x <- substr(i,45,61)
  y <- paste('C:/Users/dfmcg/Documents/Thesisfiles/exceedenceall', x, sep='/')
  timeozone <- import(i, date="DATES", date.format = "%Y-%m-%d %H", header=TRUE, na.strings="NA")

  overseventy <- c()
  yearmaxs <- aggregate(rolling.O3new ~ format(as.Date(date)), timeozone, max)
  colnames(yearmaxs) <- c("date", "daymax")
  overseventy <- aggregate(daymax ~ format(as.Date(date)), yearmaxs, FUN = length,
        subset = as.numeric(daymax) > 70)
  colnames(overseventy) <- c("date", "daymax")
  aggregate(daymax ~ format(as.Date(date), "%Y"), overseventy, sum)

我也尝试过:总和&gt; “70和总和(daymax&gt;”70)。

此时我的另一个想法是使用for循环迭代值。我希望a可以再次使用聚合来计算感兴趣的值。任何帮助都将非常感谢!

0 个答案:

没有答案