【发布时间】:2016-10-11 13:25:20
【问题描述】:
我遇到了多个 if 语句的问题。输出总是取自第一个条件,即使条件不正确。谁能指出我做错了什么?
代码:
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
对于你们中的一些人来说,这可能是一个完全基本的问题,但我不知道如何解决它。
【问题讨论】:
-
使用
cut而不是嵌套的if/else。此外,您可以使用矢量化的ifelse -
data_model3$LIXshipping <- ...正在更改整个列。 -
请将
dput(data_model3)的结果放入您的问题中。
标签: r if-statement