0

ストリームフロー、降水量、時間のデータセットを POSIXct として持っています。前の 2 時間に降水がなく、夜であるレコードをサブセット化しようとしています (私の目的では、午後 10 時から午前 4 時の間とします)。

データセットは、流れと降水量が na の場合でも、1 時間ごとの記録があるという点で「完全」であるため、時系列に変換できました。これをループと一緒にまとめることができると確信していますが、もっとうまくやりたいと思っています。

データセットの例は次のとおりです。

sample <- structure(list(flow = c(1.4838542618848, 1.68681348430786, 1.49091679298032, 
0.904015076235029, 1.67419864019143, 1.39869975622123, 0.797317388543118, 
1.34068054355126, 2.68070195855211, 2.27260130448352),
rain = c(0.1,0.2, NA, NA, NA, NA, NA, NA, NA, NA), 
datetime = structure(c(1104523200, 1104526800, 1104530400, 1104534000, 
1104537600, 1104541200, 1104544800, 1104548400, 1104552000, 1104555600), 
tzone = "GMT", class = c("POSIXct", "POSIXt"))), .Names = c("flow","rain",  
"datetime"),row.names = c(NA, 10L), class = "data.frame")

どんなアイデアでも大歓迎です!

4

1 に答える 1

3
pre2prec <- filter(is.na(sample$rain),c(0,1,1),sides=1)==2
night <- as.POSIXlt(sample$datetime)$hour > 22 & as.POSIXlt(sample$datetime)$hour < 4

sample[pre2prec & night,]

残念ながら、時間値のタイム ゾーンが設定されていません。as.POSIXct次に、現在のシステムのタイム ゾーンを使用します。私はヨーロッパにいて、どうやらあなたはそうではないので、あなたのデータセットには私の夜の値が含まれていません。

于 2013-07-29T15:48:26.470 に答える