我有一個從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'功能。 –