0
我想用一個隨機生成的數字來初始化一個矩陣,這樣一行/列中的數字總和就是1比1 go.Both不需要同時爲1,即任何一行的和爲1或列之和爲1在R中初始化一個矩陣
我想用一個隨機生成的數字來初始化一個矩陣,這樣一行/列中的數字總和就是1比1 go.Both不需要同時爲1,即任何一行的和爲1或列之和爲1在R中初始化一個矩陣
對於行的總和= 1,你可以嘗試像:
num_rows <- 5
num_cols <- 5
random_uniform_matrix <- matrix(runif(num_rows * num_cols), nrow = num_rows, ncol = num_cols)
random_uniform_matrix_normalised <- random_uniform_matrix/rowSums(random_uniform_matrix)
random_uniform_matrix_normalised
# [,1] [,2] [,3] [,4] [,5]
# [1,] 0.23587728 0.09577532 0.28102271 0.03763127 0.34969342
# [2,] 0.07252286 0.42979916 0.19738456 0.19545165 0.10484177
# [3,] 0.12868304 0.30537875 0.08245634 0.26911364 0.21436823
# [4,] 0.31938540 0.37610285 0.18834984 0.10297283 0.01318908
# [5,] 0.10775810 0.09167090 0.54077248 0.16717661 0.09262190
謝謝。就是這個。同樣的方法也可以用於colSums。 –
創建矩陣(我把它命名爲myMat),然後使用'myMat < - myMat/rowSums(myMat)' – lmo
應該請注意@Imo提供的'rowSums'解決方案由於矩陣運算而不適用於'colSums'。 – dayne