【发布时间】:2020-06-27 22:04:40
【问题描述】:
我有一个 10000 x 7 的 data.table dat 。我想将每一行 dat 乘以一个 7x7 矩阵 c。我已经尝试了以下
apply(dat, 1, function(x) sqrt(as.matrix(x) %*% as.matrix(c) %*% t(as.matrix(x))))
我收到此错误
as.matrix(x) %*% as.matrix(c) 中的错误:参数不一致
当我从 dat 中取一行(所以 1 x 7)时,此函数有效,但在我使用 apply 时无效。
如何使用 apply 来完成这项工作?
谢谢!
附加信息 - 我可以通过另一种方式实现我需要的东西。我可以将整个 data.frame 乘以矩阵并取 sqrt(diag(x))。但是,我需要这样做很多次,因此逐行获取并返回单个数字会更有效。
【问题讨论】: