楼主: 未了的言辞
1574 3

[问答] 请问如何用R语言实现对n*p矩阵每一列求外积生成p*p矩阵,再把n个p*p矩阵加起来 [推广有奖]

  • 1关注
  • 0粉丝

已卖:3份资源

本科生

22%

还不是VIP/贵宾

-

威望
0
论坛币
84 个
通用积分
124.8525
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
1245 点
帖子
18
精华
0
在线时间
144 小时
注册时间
2017-12-1
最后登录
2025-12-8

楼主
未了的言辞 发表于 2020-3-4 18:36:46 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
除了循环之外有什么简单的方法吗?
二维码

扫码加我 拉你入群

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

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

关键词:如何用 R语言

沙发
caozhaowen 在职认证  发表于 2020-3-5 00:06:34

有点意思,搞了好久!

p=3
n=4
x=matrix(1:(n*p),nrow=p)
m_m <- function(x){
  y <- as.data.fr ame(as.matrix(x)%*%as.matrix(t(x)))
  }
(reult_list <- (result=apply(x,2,m_m)))
(output <-as.matrix(Reduce(`+`, reult_list)))
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

藤椅
caozhaowen 在职认证  发表于 2020-3-5 00:15:10
```{r}
p=3
n=4
x=matrix(1:(n*p),ncol=p)
m_m <- function(x){
  y <- as.data.frame(as.matrix(x)%*%as.matrix(t(x)))
  }
(result_list <- apply(x,2,m_m))
(output <-as.matrix(Reduce(`+`, result_list)))
```
## [[1]]
##   V1 V2 V3 V4
## 1  1  2  3  4
## 2  2  4  6  8
## 3  3  6  9 12
## 4  4  8 12 16
##
## [[2]]
##   V1 V2 V3 V4
## 1 25 30 35 40
## 2 30 36 42 48
## 3 35 42 49 56
## 4 40 48 56 64
##
## [[3]]
##    V1  V2  V3  V4
## 1  81  90  99 108
## 2  90 100 110 120
## 3  99 110 121 132
## 4 108 120 132 144
(output <-as.matrix(Reduce(`+`, result_list)))
##       V1  V2  V3  V4
## [1,] 107 122 137 152
## [2,] 122 140 158 176
## [3,] 137 158 179 200
## [4,] 152 176 200 224
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
未了的言辞 + 1 + 1 + 1 精彩帖子
Sunknownay + 3 + 3 + 3 热心帮助其他会员

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

板凳
未了的言辞 发表于 2020-10-7 11:49:40
caozhaowen 发表于 2020-3-5 00:15
```{r}
p=3
n=4
啊,疫情丧了一段时间,好久没看论坛了,才注意到您的解答,万分感谢。您提供了很棒很清晰的思路,这里我后来自己也想了一种思路,也分享一下吧

t <- apply(X, 1, function(x) x%*%t(x))
t <- apply(t, 2, sum )
t <- matrix(t, p, p)

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 06:53