1. R语言运行效率分析(8)

方法8: 采用 ddply 语句

1: 自定义函数

Month_name_ddply<-function(month){
  Month<-as.data.frame(month)
  Month$ID<-1:nrow(Month)
  df<-ddply(Month,.(month),function(x){mutate(x,month_name=month.abb[month])})
  Month_name<-arrange(df,ID)
  return(Month_name[,-2])
}
Season_name_ddply<-function(month){
  Month<-as.data.frame(month)
  Month$ID<-1:nrow(Month)
  df<-ddply(Month,.(month),function(x){mutate(x,season_name=c("Winter","Winter","Spring","Spring","Spring","Summer","Summer","Summer","Autumn","Autumn","Autumn","Winter")[month])})
  Season_name<-arrange(df,ID)
  return(Season_name[,-2])
  
}
result_ddply<-function(month){
  Month_name_ddply<-Month_name_ddply(month)# months' names
  Season_name_ddply<-Season_name_ddply(month) #seasons' names
  df<-data.frame(month,Month_name_ddply,Season_name_ddply)
  return(df)
}

2: 调用函数进行运算

month<-month_digital(10)
microbenchmark::microbenchmark(Month_name_ddply(month))
microbenchmark::microbenchmark(Season_name_ddply(month))
microbenchmark::microbenchmark(result_ddply(month))
Unit: milliseconds
                    expr      min       lq     mean   median       uq      max
 Month_name_ddply(month) 8.760018 8.888448 9.836038 8.980004 9.211437 21.86194
 neval
   100
Unit: milliseconds
                     expr      min       lq     mean   median       uq      max
 Season_name_ddply(month) 8.731989 8.853146 9.877732 8.976706 9.128971 25.45839
 neval
   100
Unit: milliseconds
                expr      min       lq     mean   median       uq      max
 result_ddply(month) 17.98596 18.18733 19.24074 18.27565 18.64888 33.03697
 neval
   100

(未完!待续……)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,916评论 2 9
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,114评论 0 3
  • JavaScript语言精粹 前言 约定:=> 表示参考相关文章或书籍; JS是JavaScript的缩写。 本书...
    微笑的AK47阅读 3,649评论 0 3
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 10,120评论 0 5
  • 经历过上一次的绝望,终于迎来成功的转折,果真人还是要抱有希望的,因为这样才能看到希望,也只有一直乐观下去才能看到快...
    欢喜_f16b阅读 906评论 0 1