Qualcuno sa come accelerare l'esecuzione del seguente comando? Voglio sostituire i valori numerici "mese" con una stringa di caratteri ... ad es. il mese 1 va a "Jul".accelerando in esecuzione se .. else loop in R
Questo comando è davvero molto lento in quanto il dataframe che sto cercando di implementarlo è enorme!
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'}
}
Grande conoscere questo trucco! – Alex
Qui ha un ritardo di 6 mesi nella sua domanda: 1 corrisponde a "Jul" e non a "Jan". Quindi qualcosa come 'month.abb [(as.numeric (CO2 $ month) +6) %% 12]' correggerebbe il lag. – plannapus
@plannapus: ottima cattura, la modificherò nella mia risposta –