Ошибка, вероятно, исходит от ifelse (), который у вас есть:
for (i in 1:nrow(my.data)) {
if(my.data$RTime[i] <= 3600){
my.data$RTimeHour[i] <- 1
}ifelse (my.data$RTime[i] > 3601 & my.data$RTime[i] < 7200){
my.data$RTimeHour[i] <- 2
}esle {
my.data$RTimeHour[i] <- 3
}
}
Попробуйте вместо этого:
if(my.data$RTime[i] <= 3600){
my.data$RTimeHour[i] <- 1
}else if(my.data$RTime[i] > 3601 & my.data$RTime[i] < 7200){
my.data$RTimeHour[i] <- 2
}else {
my.data$RTimeHour[i] <- 3
}
}
ifelse vectorizes how the problem, so ifelse(x[i]) will try to refer to something outside of the loop.