2016-04-07 170 views
-1

「a」是矩陣。更改矩陣的某些值以形成新矩陣

a<-matrix(1:20,5) 

我要改變的「A」到1,形成一個新的矩陣「B」的第一列,我也需要保持「一」,因爲它是。

現在我也只能達到這個目標通過下面的代碼:

b<-a 
b[,1]=1 

我該如何解決這個問題,只有一句話的代碼?

+0

請問你爲什麼在意?美學,好奇心,...? (@朱利葉斯的解決方案是好的,但比'b其實更多字符< - A; B [,1] < - 1' ...) –

+0

@BenBolker也許爲了節省時間,更簡單 – lightsnail

+0

@BenBolker,如果你認爲這個問題是太原生和愚蠢的,你能幫我一點點複雜的一個:http://stackoverflow.com/questions/36459958/match-list-to-rows-of-matrix-in-r謝謝! – lightsnail

回答

2
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])

+0

非常感謝!兩人看起來不錯。 @Julius – lightsnail