R语言技巧每日分享day6-对列表元素执行可变长参数函数do.call()

do.call()用于将list里面的每一个元素执行可变长参数函数。

首先可变长参数函数是指,函数参数的长度是可变的,一般参数名是...。例如,sum(), paste(), rbind()等

do.call()的用法:do.call(what, args)

  • what为需要被调用的函数
  • args为一个list,每个元素都是what的参数

例如,要对list中的所有元素进行求和

x <- list(a = c(1, 2),b = c(3, 4),c = c(5, 6))
sum(x[[1]], x[[2]], x[[3]])

然而,x经常是在程序运行过程中动态生成的,长度是不固定的,这个时候就要用到do.call了:

do.call(sum, x)

例2:我经常对于lapply输出的list使用do.call()

lapply(list,FUN) %>% 
  do.call(what = 'rbind')

参考

https://zhuanlan.zhihu.com/p/519585130

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容