R を使用して、センサーから毎分来るデータを蓄積しています。「WIDTH」と「HEIGHT」は増加しているはずです。残念ながら、データには NA と順不同の値が含まれています (たとえば、行 8 には範囲外の値 12.0、13.0 があります)。 私が望むのは、順不同の値を NA に設定することです。
次に、データセット「ex」を自分で帰属させます。データが膨大になる可能性があるため、次のような手順を作成しました。
m<-15
for(i in 2:m){
ex$WIDTH[i]<- ifelse(ex$WIDTH [i]- ex$WIDTH [i-1]<0,NA, ex$WIDTH [i])
ex$HEIGHT[i]<- ifelse(ex$HEIGHT[i]- ex$HEIGHT [i-1]<0,NA, ex$HEIGHT [i])
}
しかし、結果は間違っています。
元のデータ セット
ID CTIME WIDTH HEIGHT
1 HM001 201212121301 1201.9 1115.5
2 HM001 201212121302 1202.2 1115.8
3 HM001 201212121303 1202.8 1115.8
4 HM001 201212121304 NA 1116.1
5 HM001 201212121305 1203.9 1116.7
6 HM001 201212121306 NA 1116.7
7 HM001 201212121307 NA 1116.7
8 HM001 201212121308 12.0 31.0
9 HM001 201212121309 1206.0 1118.2
10 HM001 201212121310 1206.3 1118.6
11 HM001 201212121311 1206.5 1118.8
12 HM001 201212121312 NA NA
13 HM001 201212121313 1207.3 NA
14 HM001 201212121314 1207.9 1121.1
15 HM001 201212121315 1208.4 1121.3
for ステートメントの結果
ID CTIME ACTIVE_KWH REACTIVE_KWH
1 HM001 201212121301 1201.9 1115.5
2 HM001 201212121302 1202.2 1115.8
3 HM001 201212121303 1202.8 1115.8
4 HM001 201212121304 NA 1116.1
5 HM001 201212121305 NA 1116.7
6 HM001 201212121306 NA 1116.7
7 HM001 201212121307 NA 1116.7
8 HM001 201212121308 NA NA
9 HM001 201212121309 NA NA
10 HM001 201212121310 NA NA
11 HM001 201212121311 NA NA
12 HM001 201212121312 NA NA
13 HM001 201212121313 NA NA
14 HM001 201212121314 NA NA
15 HM001 201212121315 NA NA
私が期待するもの (row8 WIDTH=NA, HEIGHT=NA)
ID CTIME WIDTH HEIGHT
1 HM001 201212121301 1201.9 1115.5
2 HM001 201212121302 1202.2 1115.8
3 HM001 201212121303 1202.8 1115.8
4 HM001 201212121304 NA 1116.1
5 HM001 201212121305 1203.9 1116.7
6 HM001 201212121306 NA 1116.7
7 HM001 201212121307 NA 1116.7
8 HM001 201212121308 NA NA
9 HM001 201212121309 1206.0 1118.2
10 HM001 201212121310 1206.3 1118.6
11 HM001 201212121311 1206.5 1118.8
12 HM001 201212121312 NA NA
13 HM001 201212121313 1207.3 NA
14 HM001 201212121314 1207.9 1121.1
15 HM001 201212121315 1208.4 1121.3