假设我有一个for循环,看起来像这样:
n <- 1000
for (i in 1:n) {
command1 <- solve(matrix1)
command2 <- solve(matrix2)
...
commandP <- solve(matrixP)
matrix1 <- update(matrix1)
matrix2 <- update(matrix2)
...
matrixP <- update(matrixP)
}
所以基本上,我是在求解P矩阵的逆,然后更新每个矩阵,并继续迭代,大约1000次。
我想得到求逆每个P矩阵的平均计算时间(也就是说,在所有1000次迭代中求平均值)。其他的则很小并且花费大约微秒。
有没有一个简单的内置函数可以实现这一点?
我知道我可以使用Sys.time()命令手动计算每一行的时间,但是这将是乏味的,并且在代码中非常混乱,因为我必须在每个矩阵计算之前和之后添加一行。
1条答案
按热度按时间rqqzpn5f1#
要获得运行每个矩阵转换所需的时间,您可以设置一个表达式列表并使用
eval
运行这些表达式。这对我来说有点快速和肮脏的方法-但它可能是一个解决方案...如果将这样的输出保存为
data.frame
,每次迭代都有一列,则可以在其上运行rowMeans
,以获得每个矩阵的平均运行时间。没有最少的例子很难更详细地解释。