-1
「a」是矩陣。更改矩陣的某些值以形成新矩陣
a<-matrix(1:20,5)
我要改變的「A」到1,形成一個新的矩陣「B」的第一列,我也需要保持「一」,因爲它是。
現在我也只能達到這個目標通過下面的代碼:
b<-a
b[,1]=1
我該如何解決這個問題,只有一句話的代碼?
「a」是矩陣。更改矩陣的某些值以形成新矩陣
a<-matrix(1:20,5)
我要改變的「A」到1,形成一個新的矩陣「B」的第一列,我也需要保持「一」,因爲它是。
現在我也只能達到這個目標通過下面的代碼:
b<-a
b[,1]=1
我該如何解決這個問題,只有一句話的代碼?
replace(a, col(a) == 1, 1)
# [,1] [,2] [,3] [,4]
# [1,] 1 6 11 16
# [2,] 1 7 12 17
# [3,] 1 8 13 18
# [4,] 1 9 14 19
# [5,] 1 10 15 20
並且在這種情況下也是cbind(1, a[, -1])
。
非常感謝!兩人看起來不錯。 @Julius – lightsnail
請問你爲什麼在意?美學,好奇心,...? (@朱利葉斯的解決方案是好的,但比'b其實更多字符< - A; B [,1] < - 1' ...) –
@BenBolker也許爲了節省時間,更簡單 – lightsnail
@BenBolker,如果你認爲這個問題是太原生和愚蠢的,你能幫我一點點複雜的一個:http://stackoverflow.com/questions/36459958/match-list-to-rows-of-matrix-in-r謝謝! – lightsnail