【R每日一贴】R中将一个函数应用到矩阵的所有行(列)?
测试开头
测试结尾
摘要
对于矩阵的所有行或者列进行某一个操作处理,比方说对矩阵所有行求均值或者对矩阵所有列求方差等问题。
【R语言】致力于传播R知识,包括【R每日一帖】、【R书籍推荐】、【R案例分享】,【R那些事】和【R微课】栏目。在这大数据时代里,从数据中找出价值,既是机遇又是挑战。R语言可以帮助我们获取数据、处理数据、分析数据、展示数据和理解数据,以进行数据化决策!
问题描述:对于矩阵的所有行或者列进行某一个操作处理,比方说对矩阵所有行求均值或者对矩阵所有列求方差等问题。
解决方案:可以使用R中的apply()函数,通过这个函数,可以把任意函数“应用”到矩阵的所有行或者列上面。apply()函数的使用格式为:
apply(data, MARGIN, FUN, …)
其中,data表示数据对象,MARGIN是维度下标,在矩阵或者数据框里面,MARGIN=1表示行,MARGIN=2表示列,FUN表示对数据要进行操作的函数。
举例说明:
> mydata <- matrix(rnorm(30), nrow = 6, ncol = 5)
> apply(mydata, 1, mean)
[1] 0.05683491 -0.47577334 -0.70307564 0.67546665 0.43424920 -0.42175166
> apply(mydata, 2, sd)
[1] 1.3526763 0.8573622 1.4407054 1.3334916 0.7582471
【想一想】
1 apply()函数怎么用?
【做一做】
1 查看apply()函数帮助文档,并且利用apply函数求一个矩阵中所有行的最小值和所有列的最大值?
◆互动交流
我是陆勤,微信号:wangluqing360,你们在R路上的朋友,一起欣赏R路上的风景。
大数据R语言群:342699237,大数据学习平台:www.ppvke.com,欢迎朋友们加入,共建最好的R社区。欢迎读者朋友们撰稿深度挖掘,回复消息给我留言或者邮件至1181906473@qq.com。
◆如何查看更多好文章
查看【历史记录】
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!