2
我有兩個矩陣,相同的大小,200萬行和2列。 matrix_a
有值,而matrix_b
爲空,matrix_b
的值將由matrix_a
中的值決定。如何在循環中設置矩陣的值?
matrix_b <- matrix(, nrow(matrix_a),2)
for(rows in 1:nrow(matrix_a)){
if (matrix_a[rows,1]==0){
.....do something get values of x,
matrix_b[rows,2] = x
}
else {
do sth else get value of y,
then set matrix_b
}
}
首先,我該如何加快這個循環,因爲有2百萬行,處理起來非常緩慢。 其次,我注意到當我試圖從matrix_a
複製一個值到matrix_b
時,它似乎不起作用。例如,雖然在我的數據
matrix_a[1,1] = 'user1'
後,我複製值
matrix_b[1,1] = matrix_a[1,1]
然而,結果打開的
matrix_b[1,1]='1'
怎麼來的?爲什麼值'user1'未設置爲matrix_b
?
我剛剛發現這可能與排序有關,因爲我首先對數據進行排序以生成matrix_a
。這裏的值'1'表示排序後的第一行,但我仍然不知道它是如何在matrix_b
中結束的。
在「做某事」的時候看看應該做什麼會很高興。 – daroczig
如果您在代碼中放入了真正的東西,並且可能有5行數據顯示您想要發生的情況,那麼您會得到更好的答覆。 – Henry
你應該有'} else {'作爲一行。否則R不會到達'else'。 – Henry