全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1520 3
2020-03-04
除了循环之外有什么简单的方法吗?
二维码

扫码加我 拉你入群

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

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

全部回复
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)))
二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

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)
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群