2016-08-15 15 views
0

私はいくつかの異なるデータセットで70より大きい値を合計しようとしています。私は総計がこれを行うことができると信じていますが、私の研究はデータセットで70を超える値を得るための明白な解決策を指摘していません。最初に集計を使用して毎日の最大値を取得し、これらの値をyearmaxsというデータフレームに入れました。ここに私のコードで、私が試したもの:サイト私も試してみました 集計を使用してRより大きい値を合計するR

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) 

あたり年間におけるO3> 70倍の

数:合計>「70との和(daymax>」70)。

私の他の考え方は、forループを使って値を繰り返し処理することです。私は、関心のある値を合計するために集計を再度使用できることを期待していました。どんな助けでも大歓迎です!

+0

はい、yearmasはタイムシリーズ全体で1日の最大値ですが、タイムゾーンはすべてのデータセットです。しかし、私は私の問題を解決し、今すぐ輸出しています!しかし、最終的な解決策を含めるように質問を更新しました。しかし、私は、この結果を得るために3回集計する必要はなかったと思います。 – user5727

答えて

0

私は、あなたがしたいと思う:あなたが数値比較を必要とする

  1. 、そうas.numeric(daymax) > 70ないdaymax > "70"を使用します。:

    物事へ
    aggregate(daymax ~ format(as.Date(date)), yearmaxs, FUN = length, 
          subset = as.numeric(daymax) > 70) 
    

  2. aggregate.formulasubset引数を使用してください。
+0

はい、年の値は年の値ではありません。私はちょうどこれを自分で実現しました長さは1年に70を超える値の数を与えるでしょうか? – user5727

+0

私は今何を得ているかを示すために質問を更新しました。 – user5727

関連する問題