楼主: 何是人生
3177 3

[问答] 如何求两矩阵均值 [推广有奖]

  • 0关注
  • 0粉丝

小学生

35%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
410 点
帖子
2
精华
0
在线时间
8 小时
注册时间
2009-12-20
最后登录
2017-11-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
a,b两矩阵求均值,空值取有效值

a         
1     2           
NA   4

b           
3     2           
NA   NA

想要得到结果
c
2     2
NA   4
该怎样做?









二维码

扫码加我 拉你入群

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

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

关键词:有效值

沙发
那一刻。 发表于 2017-11-29 21:41:47 |只看作者 |坛友微信交流群
  1. seed(1233)
  2. matrix_list<-replicate(2,matrix(sample(9),ncol=3),simplify = FALSE)
  3. a<-matrix_list[[1]]
  4. b<-matrix_list[[2]]

  5. `%/%`<-function(x,y) {
  6.   m<-(x+y)/2
  7.   return(m)
  8. }

  9. matrix(mapply(`%/%`,a,b),ncol=ncol(a))
复制代码

使用道具

藤椅
jiangbeilu 学生认证  发表于 2017-11-29 23:23:01 |只看作者 |坛友微信交流群
  1. a <- matrix(c(1,2,3,NA),2,2)
  2. b <- matrix(c(2,3,NA,NA),2,2)
  3. a
  4. b

  5. matrix(apply(cbind(as.vector(a),as.vector(b)),1,mean,na.rm=T),nrow(a),ncol(a))
复制代码


转成向量,然后生成两列矩阵,对矩阵行求均值,利用mean里的na.rm=TRUE参数设置即可,最后再将向量变成矩阵即可。

使用道具

板凳
ntsean 发表于 2017-11-30 16:39:56 |只看作者 |坛友微信交流群
  1. a <- matrix(c(1, NA, 2, 4), 2)
  2. b <- matrix(c(3, NA, 2, NA), 2)

  3. apply(array(c(a, b), dim = c(dim(a), 2)), 1:2, mean, na.rm = TRUE)
复制代码

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 15:01