我有“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 列有人有我的解决方案吗?谢谢。