【发布时间】:2021-10-08 16:11:01
【问题描述】:
我正在最大化似然函数并尝试减少循环。
我想将向量(要估计的参数)添加到矩阵(数据)的所有行中。向量的长度等于矩阵的列。
a+b 会给出错误的结果,因为 R 的回收规则是按列而不是按行。
a<-c(1,2,0,0,0) # parameters to be optimized
b<-matrix(1,ncol=5,nrow=6) # data
t(a+t(b)) # my code would work, anything more intuitive?
期望的输出
[,1] [,2] [,3] [,4] [,5]
[1,] 2 3 1 1 1
[2,] 2 3 1 1 1
[3,] 2 3 1 1 1
[4,] 2 3 1 1 1
[5,] 2 3 1 1 1
[6,] 2 3 1 1 1
错误输出
a+b
[,1] [,2] [,3] [,4] [,5]
[1,] 2 3 1 1 1
[2,] 3 1 1 1 2
[3,] 1 1 1 2 3
[4,] 1 1 2 3 1
[5,] 1 2 3 1 1
[6,] 2 3 1 1 1
【问题讨论】:
-
t(apply(b, 1 , function(x) x+a))
标签: r matrix vectorization