Let\'s say I have a matrix, mat.
mat <- matrix(1:5, nrow = 10, ncol = 3, byrow = TRUE)
And I have some sort of function that I want to apply
In this specific case, just roll the "est" values out to a matrix that matches the "true" values. Then you can subtract matrices (which R will automatically do componentwise) and use apply()
, or here, colMeans()
:
> true <- matrix(1:5, nrow = 10, ncol = 3, byrow = TRUE)
> est <- matrix(1:3,nrow=nrow(true),ncol=ncol(true),byrow=TRUE)
> sqrt(colMeans((true-est)^2))
[1] 2.449490 1.732051 1.414214
>
In more general cases involving lists, mapply()
may be helpful.