楼主: xupengswordsman
25456 3

[程序分享] apply函数与colSums函数、rowSums函数之间的关系 [推广有奖]

  • 6关注
  • 16粉丝

已卖:374份资源

教授

45%

还不是VIP/贵宾

-

威望
0
论坛币
4727 个
通用积分
49.6023
学术水平
36 点
热心指数
48 点
信用等级
26 点
经验
106302 点
帖子
1020
精华
0
在线时间
1520 小时
注册时间
2007-12-30
最后登录
2025-1-24

楼主
xupengswordsman 发表于 2014-5-31 18:50:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

以下以三维数组为例进行说明,当然也适用于colMeans函数和rowMeans函数。

由于矩阵较为简单,而且大家谈论较多,我就不展开了。

基础要求:对数组四则运算有一定了解,不熟悉的话,那就help R一下吧。


  1. #生成一个2x3x2数组
  2. x<-array(1:12,c(2,3,2))
  3. #分别利用两种方法对第一维度求和
  4. apply(x,c(2,3),sum)
  5.      [,1] [,2]
  6. [1,]    3   15
  7. [2,]    7   19
  8. [3,]   11   23
  9. colSums(x,dims=1)
  10.      [,1] [,2]
  11. [1,]    3   15
  12. [2,]    7   19
  13. [3,]   11   23

  14. #分别利用两种方法对第二维度求和
  15. apply(x,c(1,3),sum)
  16.      [,1] [,2]
  17. [1,]    9   27
  18. [2,]   12   30
  19. y<-aperm(x,c(2,1,3));colSums(y,dims=1)
  20.      [,1] [,2]
  21. [1,]    9   27
  22. [2,]   12   30
  23. z<-aperm(x,c(1,3,2));rowSums(z,dims=2)
  24.      [,1] [,2]
  25. [1,]    9   27
  26. [2,]   12   30

  27. #分别利用两种方法对第三维度求和
  28. apply(x,c(1,2),sum)
  29.      [,1] [,2] [,3]
  30. [1,]    8   12   16
  31. [2,]   10   14   18
  32. rowSums(x,dims=2)
  33.      [,1] [,2] [,3]
  34. [1,]    8   12   16
  35. [2,]   10   14   18
复制代码

注意:dims为整数,对于rowSumsdims=n表示对n+1维及以后的维度进行求和(dims+1);对于colSumsdims=n表示对1n维度进行求和(1dims);aperm函数用于维度的相互转换。


有些抽象,大家细细品味吧!欢迎大家探讨,一起学习交流。

关于apply函数与colSums函数、rowSums函数的优劣,我会写个帖子,到时发上链接,和大家一起交流学习。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:apply函数 apply Sums rows appl 而且

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
famousid + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

xupeng

沙发
chxq03 在职认证  发表于 2014-6-2 10:31:17
不错不错,你应该去统计之都上冒个泡。

藤椅
xupengswordsman 发表于 2014-6-2 10:46:15
chxq03 发表于 2014-6-2 10:31
不错不错,你应该去统计之都上冒个泡。
已经冒了哈,还不止一个泡了
xupeng

板凳
xupengswordsman 发表于 2014-6-2 10:48:35
chxq03 发表于 2014-6-2 10:31
不错不错,你应该去统计之都上冒个泡。
感觉网上对colSums和rowSums的数组应用介绍不多,有的还是错的,之前我就被坑过一次。现与大家分享,一同快速进步,以高铁的速度,迈进大数据时代。哈哈
xupeng

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 03:53