首页 > 解决方案 > 如何避免数据框中多行的*乘法循环

问题描述

这应该是一个简单的。A是一个数据框。我正在尝试一直计算 A[1,]*A[2,]*A[3,]*** 。有没有办法在没有 for 循环的情况下做到这一点?提前致谢!

标签: rloopsmultiplication

解决方案


我们可以sapply用来取列乘积

sapply(A, prod)

#  a   b   c 
#  6 120 504 

colProdsmatrixStats

matrixStats::colProds(as.matrix(A))

数据

A <- data.frame(a = 1:3, b = 4:6, c = 7:9)

推荐阅读