如何更简洁地在 R 中编写 solve(X'X)?
How to write solve(X'X) in R more succinctly?
我想我记得在 R 中看到 solve(t(X) %*% X)
的 shorthand,但我不记得它是什么了。有类似的东西吗?只是一种减少击键次数的方法吗?
也许您正在考虑 crossprod()
?它并没有减少击键次数,而是更加优雅,according to its help file,它可以比简单的构造稍微快一些。
x <- matrix(rnorm(9), ncol=3)
solve(crossprod(x))
# [,1] [,2] [,3]
# [1,] 1.34638151 -0.02957435 0.8010735
# [2,] -0.02957435 0.32780020 -0.1786295
# [3,] 0.80107345 -0.17862950 1.4533671
solve(t(x) %*% x)
# [,1] [,2] [,3]
# [1,] 1.34638151 -0.02957435 0.8010735
# [2,] -0.02957435 0.32780020 -0.1786295
# [3,] 0.80107345 -0.17862950 1.4533671
我想我记得在 R 中看到 solve(t(X) %*% X)
的 shorthand,但我不记得它是什么了。有类似的东西吗?只是一种减少击键次数的方法吗?
也许您正在考虑 crossprod()
?它并没有减少击键次数,而是更加优雅,according to its help file,它可以比简单的构造稍微快一些。
x <- matrix(rnorm(9), ncol=3)
solve(crossprod(x))
# [,1] [,2] [,3]
# [1,] 1.34638151 -0.02957435 0.8010735
# [2,] -0.02957435 0.32780020 -0.1786295
# [3,] 0.80107345 -0.17862950 1.4533671
solve(t(x) %*% x)
# [,1] [,2] [,3]
# [1,] 1.34638151 -0.02957435 0.8010735
# [2,] -0.02957435 0.32780020 -0.1786295
# [3,] 0.80107345 -0.17862950 1.4533671