相关疑难解决方法(0)

通过向量将数据帧中的列相乘

我想要做的是将data.frame的第1列中的所有值乘以向量中的第一个元素,然后将第2列中的所有值乘以向量中的第2个元素,等等......

c1 <- c(1,2,3)
c2 <- c(4,5,6)
c3 <- c(7,8,9)
d1 <- data.frame(c1,c2,c3)

  c1 c2 c3
1  1  4  7
2  2  5  8
3  3  6  9

v1 <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)

结果如下:

  c1  c2  c3
1  1  8   21
2  2  10  24
3  3  12  27
Run Code Online (Sandbox Code Playgroud)

我可以一次只做一列,但如果我有100列呢?我希望能够以编程方式执行此操作.

r

11
推荐指数
3
解决办法
9409
查看次数

如何快速地进行大矩阵与向量的元素乘法?

我想对一个非常大的二进制矩阵的每一行进行向量的元素乘法。我的向量的长度等于我的矩阵的列数。我已经实现了使用 for 循环如下,但它非常慢。有谁知道加快速度的解决方案?

A <- c()
M # Binary matric
W <- matrix(0, nrow=nrow(M), ncol=ncol(M))
W <- data.frame(W)
for (i in 1:nrow(W)) {
    W[i,] <- M[i,] * A
}
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×2