方法5: 采用 which 语句
1: 自定义函数
# digital was translated into englishname
Month_name_which
Month_name
Month_name[(which(Month_name==1))]
Month_name[(which(Month_name==2))]
Month_name[(which(Month_name==3))]
Month_name[(which(Month_name==4))]
Month_name[(which(Month_name==5))]
Month_name[(which(Month_name==6))]
Month_name[(which(Month_name==7))]
Month_name[(which(Month_name==8))]
Month_name[(which(Month_name==9))]
Month_name[(which(Month_name==10))]
Month_name[(which(Month_name==11))]
Month_name[(which(Month_name==12))]
return(Month_name)
}
Season_name_which
Season_name
Season_name[which(Season_name %in% c(12,1,2))]
Season_name[which(Season_name %in% c(3,4,5))]
Season_name[which(Season_name %in% c(6,7,8))]
Season_name[which(Season_name %in% c(9,10,11))]
return(Season_name)
}
result_which
Month_name_which
Season_name_whichh
df
return(df)
}
2: 调用函数进行运算
month
microbenchmark(Month_name_which(month))
microbenchmark(Season_name_which(month))
microbenchmark(result_which(month))
Unit: microseconds
expr min lq mean median uq max neval
Month_name_which(month) 71.668 73.2195 393.5091 74.426 76.0145 31879.35 100
Unit: microseconds
expr min lq mean median uq max neval
Season_name_which(month) 42.812 43.9625 157.1115 44.655 45.477 11199.92 100
Unit: microseconds
expr min lq mean median uq max neval
result_which(month) 771.61 786.8795 886.8605 800.243 829.8675 4943.644 100
(未完!待续……)