我有一个从0到n的值序列的向量,称为seq。我也有两个列输出,每个长度1000从以前运行的数学模型,col1和col2。R:计算矩阵的所有元素的值
col1 col2 0 1 2 3 4 ... n
101 4 _ _ _ _ _ ... _
250 12 _ _ _ _ _ ... _
1007 8 _ _ _ _ _ ... _
我的矩阵中号将具有第一列作为COL1,第二列COL2 。我创建了M,这样我就有n + 1个空白列,每个元素seq。
M的元素的其余部分将用一个非常简单的公式来填充:
M[i,j+2] = (M[i,1]+seq[j])/M[i,2]
即对于SEQ的单元j取塔1的第i个元素,并将其添加到SEQ [j]的然后除以列2的第i个元素。
它很简单,并且很容易对2和i进行循环。但它会运行1000行,对于seq的所有n + 1元素,所以我担心这可能会让我的搜索速度变慢,因为我的搜索引擎seq的搜索量很大。请问有更快的方法来计算M的所有元素吗?
你不必做两个for循环。 R只做矢量操作就足够了。对于(j in 1:n)M [,j + 2] < - (M [,1] + seq [j])/ M [,2]'。你也可以使用'apply'功能。 –