Я хотел бы сделать код более эффективным.
В примере создается вектор (называемый 'new_vector').Значения этого 'new_vector' изменяются в зависимости от условий if / else, которые ссылаются на значения трех других векторов одинаковой длины.
Если условия выполнены, соответствующие элементы 'new_vector' обновляются с использованием значений из одного из других векторов (в примере элементы M_date записываются в new_vector).это пример кода:
new_vector<-c(9,9,9)
S_date<-c(1,1,as.Date('2010/08/01'))
V_date<-c(1,as.Date('2010/09/01'),1)
M_date<-c(2,as.Date('2010/07/01'),1)
for (i in 1:3) {
if ( (S_date[i]==1) & (V_date[i]==1 | M_date[i] < V_date[i]) ) {
new_vector[i]<-M_date[i]
}
}
Результат примера:
> new_vector
[1] 2 14791 9
Пример упрощен, и в действительности векторы больше и существуют дополнительные условия if / else-условия.
Как мне избежать цикла и использовать неявные методы для векторных операций?