R 当需要选择一个或另一个变量时,If else语句选择两个变量
我正在一个名为“all10”的数据框架中处理时间序列观测数据。我想创建一个新的数据列,其中包含1小时的观察结果。在指定时间之前,在本例中,月内第9和20小时前1小时>3和3 | | | | all 10$Month[i]11 | | | all 10$Month[i]您的意思是您希望R 当需要选择一个或另一个变量时,If else语句选择两个变量,r,loops,if-statement,R,Loops,If Statement,我正在一个名为“all10”的数据框架中处理时间序列观测数据。我想创建一个新的数据列,其中包含1小时的观察结果。在指定时间之前,在本例中,月内第9和20小时前1小时>3和3 | | | | all 10$Month[i]11 | | | all 10$Month[i]您的意思是您希望1.19用于1之前的小时=9是,因为我想选择指定月份第9和20小时前1小时的观测数据,这就是第8小时和第19小时的数据,当月份改变时,小时也会改变。但现在它选择了两个小时。如果你将你的月份、小时(以及任何其他日期信息
1.19
用于1
之前的小时=9
是,因为我想选择指定月份第9和20小时前1小时的观测数据,这就是第8小时和第19小时的数据,当月份改变时,小时也会改变。但现在它选择了两个小时。如果你将你的月份、小时(以及任何其他日期信息)转换为一个具有实时日期/时间格式的列,可能更容易解决。但它不应该与我的代码一起工作吗?
Month Hour Obs Prior.1
10 0 1.76 0
10 1 1.7 0
10 2 1.55 0
10 3 1.37 0
10 4 1.22 0
10 5 1.16 0
10 6 1.16 0
10 7 1.21 0
10 8 1.19 1.19
10 9 1.14 0
10 10 1.12 0
10 11 1.11 0
10 12 1.17 0
10 13 1.2 0
Month Hour Obs Prior.1
10 0 1.76 0
10 1 1.7 0
10 2 1.55 0
10 3 1.37 0
10 4 1.22 0
10 5 1.16 0
10 6 1.16 0
10 7 1.21 0
10 8 1.19 1.19
10 9 1.14 1.14
10 10 1.12 0
10 11 1.11 0
10 12 1.17 0
10 13 1.2 0
prior=numeric(dim(all10)[1])
for(i in 1:dim(all10)[1]){
if(all10$HourUTC[i]==8 || all10$HourUTC[i]==19){
if(all10$Month[i] > 3 || all10$Month[i] <= 11){
prior[i] = all10$Obs[i]
}
else{
prior[i] = " "
}
}
else if(all10$HourUTC[i]==9 || all10$HourUTC[i]==20){
if(all10$Month[i] > 11 || all10$Month[i] <= 3){
prior[i] = all10$Obs[i]
}
else{
prior[i] = " "
}
}
}