小编omu*_*mun的帖子

R中的快速矩阵计算

我需要计算:

在此输入图像描述

我可以进一步将其分解为:

在此输入图像描述

在RI中写了这段代码

att_num <- dim(X)[2]
A <- matrix(0, att_num, att_num)
for(i in seq(att_num)) A[,i] <- colSums(dx * X * X[,i])
Run Code Online (Sandbox Code Playgroud)

但由于循环,它是可怕的慢.这一行占用了我脚本中的大部分计算时间.有没有办法可以改进这个计算?

  • dx 是一个大小为1 xm的向量
  • X 是一个大小为[nxm]的矩阵

例:

dx <- sample(1:100, 30, replace=T)
X <- data.frame(replicate(30,sample(0:1,100,rep=TRUE)))

att_num <- dim(X)[2]
A <- matrix(0, att_num, att_num)
for(i in seq(att_num)) A[,i] <- colSums(dx * X * X[,i])
Run Code Online (Sandbox Code Playgroud)

r matrix

1
推荐指数
1
解决办法
191
查看次数

标签 统计

matrix ×1

r ×1