我有這樣的一段代碼,但它的工作原理聲明 - 它需要相當一段時間來處理53萬條記錄(7分鐘),我data.frame。優化,如果R中
我的目標是在我的框架來創建一個字段並填充,如下圖所示它的基礎上的人$月份值:
for (i in 1:nrow(people)) {
if(people$Month[i]=='JAN') {
people[i, 'new_month'] <- "1"
}
else if(people$Month[i]=='FEB') {
people[i, 'new_month'] <- "2"
}
else if(people$Month[i]=='MAR') {
people[i, 'new_month'] <- "3"
}
else if(people$Month[i]=='APR') {
people[i, 'new_month'] <- "4"
}
else if(people$Month[i]=='MAY') {
people[i, 'new_month'] <- "5"
}
else if(people$Month[i]=='JUN') {
people[i, 'new_month'] <- "6"
}
else if(people$Month[i]=='JUL') {
people[i, 'new_month'] <- "7"
}
else if(people$Month[i]=='AUG') {
people[i, 'new_month'] <- "8"
}
else if(people$Month[i]=='SEP') {
people[i, 'new_month'] <- "9"
}
else if(people$Month[i]=='OCT') {
people[i, 'new_month'] <- "10"
}
else if(people$Month[i]=='NOV') {
people[i, 'new_month'] <- "11"
}
else if(people$Month[i]=='DEC') {
people[i, 'new_month'] <- "12"
}
}
有沒有其他辦法可以做到這一點沒有很多的if語句正如我在這裏完成的? 謝謝。
你可以使用一個LookupTable中與之相匹配的,或者有幾個ifelse語句(您想避免我猜的東西)。你也可以使用連接。 – MLEN
使用匹配。無需循環。 – Roland