我想根據我的數據框中的幾個條件對數據進行分組。目前我正在用一個效用函數來做這件事,然後我循環,但是因爲R是矢量化的,我想知道是否有更像R的方法來做到這一點?如何在使用條件語句時利用R矢量化? (替代循環)
Items.Ordered <- CMdata$Items.Ordered
orderGroup <- function(Items.Ordered) {
Items.Ordered <- as.numeric(Items.Ordered)
if (CMdata$Items.Ordered == 0) {
return ("NONE")
} else if (CMdata$Items.Ordered > 0 & CMdata$Items.Ordered <= 3) {
return ("SMALL")
} else if (CMdata$Items.Ordered > 3 & CMdata$Items.Ordered <= 8) {
return ("MEDIUM")
} else if (CMdata$Items.Ordered > 8) {
return ("LARGE")
} else {
return ("OTHER")
}
}
Order.Type <- NULL
for (i in 1:nrow(CMdata)) {
Order.Type <- c(Order.Type, orderGroup(CMdata[i,"Items.Orderd"]))
}
CMdata$Order.Type <- as.factor(Order.Type)
看看'之開關。這可能會更清潔一些。 – lmo