У меня возникла проблема с несколькими операторами if. Вывод всегда берется из первого условия, даже если условие неверно. Может ли кто-нибудь указать, что я делаю неправильно?Вложенные операторы if - R
код:
for(i in 1:length(data_model3$Gewicht)){
if (data_model3$Gewicht[i] < 1){
data_model3$LIXshipping <- 3.26
}
else if (data_model3$Gewicht[i] > 1 & data_model3$Gewicht[i] < 2){
data_model3$LIXshipping <- 3.26
}
else if (data_model3$Gewicht[i] > 2 & data_model3$Gewicht[i] < 3){
data_model3$LIXshipping <- 3.86
}
else if (data_model3$Gewicht[i] > 3 & data_model3$Gewicht[i] < 4){
data_model3$LIXshipping <- 3.86
}
else if (data_model3$Gewicht[i] > 4 & data_model3$Gewicht[i] < 5){
data_model3$LIXshipping <- 3.86
}
else if (data_model3$Gewicht[i] > 5 & data_model3$Gewicht[i] < 10){
data_model3$LIXshipping <- 4.39
}
else if (data_model3$Gewicht[i] > 10 & data_model3$Gewicht[i] < 20){
data_model3$LIXshipping <- 4.81
}
else if (data_model3$Gewicht[i] > 20 & data_model3$Gewicht[i] < 31.5){
data_model3$LIXshipping <- 6.34
}
else
data_model3$LIXshipping <- 17.09
}
выход:
count_code Gewicht LIXshipping
281 4.67 3.26
683 3.34 3.26
903 14.56 3.26
7390 14.62 3.26
2778 2.86 3.26
2778 10.37 3.26
Это может быть compleately основной вопрос для некоторых из вас .. но я понятия не имею, как это исправить.
Andraz
Использование 'cut' вместо вложенного' if/else'.Кроме того, вы можете использовать векторизованный 'ifelse' – akrun
Возможный дубликат http://stackoverflow.com/questions/29235377/changing-continuous-ranges-to-categorical-in-r – zx8754
' data_model3 $ LIXshipping <- ... 'is меняя весь столбец. – jogo