有誰知道如何加快運行下面的命令?我想用字符串替換數字「月」值...例如第一個月去「七月」。加速運行if .. else循環R
這個命令真的很慢,因爲我試圖實現它的數據幀非常大!
for (i in 1:length(CO2$month)){
if(CO2$month[i]=='1') {CO2$months[i]<-'Jul'} else
if(CO2$month[i]=='2') {CO2$months[i]<-'Aug'} else
if(CO2$month[i]=='3') {CO2$months[i]<-'Sept'} else
if(CO2$month[i]=='4') {CO2$months[i]<-'Oct'} else
if(CO2$month[i]=='5') {CO2$months[i]<-'Nov'} else
if(CO2$month[i]=='6') {CO2$months[i]<-'Dec'} else
if(CO2$month[i]=='7') {CO2$months[i]<-'Jan'} else
if(CO2$month[i]=='8') {CO2$months[i]<-'Feb'} else
if(CO2$month[i]=='9') {CO2$months[i]<-'Mar'} else
if(CO2$month[i]=='10') {CO2$months[i]<-'Apr'} else
if(CO2$month[i]=='11') {CO2$months[i]<-'May'} else
if(CO2$month[i]=='12') {CO2$months[i]<-'Jun'}
}
大知道這一招! – Alex
他的問題在這裏有6個月的滯後:1對應於「7月」而不是「1月」。因此像'month.abb [(as.numeric(CO2 $ month)+6)%% 12]'這樣的東西可以糾正滯後。 – plannapus
@plannapus:很棒的捕捉,將編輯到我的回答 –