私は「Sec1OSp」を持っています。これは次のようになります。
TIMEBLOCK ep.HRC_E ep.HRC_D ep.HRCcm_E ep.HRCcm_D
1 NA NA NA NA
2 NA NA NA NA
3 NA NA NA NA
4 NA NA NA NA
5 NA NA NA NA
6 NA 5 5 5
7 NA 5 10 5
8 NA 5 20 5
9 NA 5 20 5
10 NA 10 20 10
11 20 10 20 10
12 20 10 20 10
13 20 NA 20 10
14 20 NA 20 10
15 10 NA 10 10
16 10 NA 10 5
17 NA NA NA NA
18 NA NA NA NA
19 NA NA NA NA
20 NA NA NA NA
21 NA NA NA NA
22 NA NA NA NA
23 NA NA NA NA
24 NA NA NA NA
「data.EP.S1p」があります。これは次のようになります。
TIMEBLOCK ep.HRC_E ep.HRC_D ep.HRCcm_E ep.HRCcm_D
1 NA NA NA NA
2 NA NA NA NA
3 NA NA NA NA
4 NA NA NA NA
5 NA NA NA NA
6 NA NA NA NA
7 NA NA NA NA
8 NA NA NA NA
9 NA NA NA NA
10 NA NA NA NA
11 20 NA NA NA
12 20 NA NA NA
13 20 NA NA NA
14 20 NA NA NA
15 10 NA NA NA
16 10 NA NA NA
17 NA NA NA NA
18 NA NA NA NA
19 NA NA NA NA
20 NA NA NA NA
21 NA NA NA NA
22 NA NA NA NA
23 NA NA NA NA
24 NA NA NA NA
このコード(以下)は現在、Sec1OSp$ep.HRC_Eからのデータを使用してdata.EP.S1p$ep.HRC_Eを埋めています。
for(t in 1:24) {
Sec1OSpt <- subset(Sec1OSp, TIMEBLOCK==t)
Sec1OSptnonNArows <- Sec1OSpt[!is.na(Sec1OSpt$ep.HRC_E),]
if(nrow(Sec1OSptnonNArows) > 0) {
if(sum(Sec1OSptnonNArows$ep.HRC_E, na.rm=TRUE) > 0) {
data.EP.S1p$ep.HRC_E[t] <- (sum(Sec1OSptnonNArows$ep.HRC_E, na.rm=TRUE)) / nrow(Sec1OSptnonNArows)
}
else {
data.EP.S1p$ep.HRC_E[t] <- NA
}
}
このコードをループして4列すべてに適用し、Sec1OSpの4列を使用してdata.EP.S1pの4列を埋めることができるようにしたいと思います。誰かが私のための解決策を持っていますか?ありがとう。