我在R
中创建了一个矩阵C<-matrix(c(0),nrow=6,ncol=6,byrow = FALSE)
现在我想用值1替换矩阵的第一列,用标准正态随机变量替换第二和第三列,用剩余矩阵的值替换最后三列。
答案 0 :(得分:0)
C<-matrix(c(0),nrow=6,ncol=6,byrow = FALSE)
other.matrix<-matrix(runif(18), nrow = 6, ncol = 3)
C[,1]<-1
C[,3]<-rnorm(6)
C[,4:6]<-other.matrix
要在R中访问矩阵的行和列(以及data.frames
),您可以使用[]
括号和i,j表示法,其中i是行,j是列。例如,矩阵C
的第3行和第2列可以使用
C[3,2]
#[1] 0
使用<-
为您选择的行/列分配新值。
答案 1 :(得分:0)
对于前三列,您可以使用
C<-matrix(c(0),nrow=6,ncol=6,byrow = FALSE)
C[ ,1] <- 1; C[ ,2] <- rnorm(6); C[ ,3] <- rnorm(6)
我们现在说你的另一个矩阵叫做 D ,看起来像
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 0.6527716 0.81793644 0.67138209 0.3175264 0.1067119 0.5907180 0.4619992
[2,] 0.2268516 0.90893913 0.62917211 0.1768426 0.3659889 0.0339911 0.2322981
[3,] 0.9264116 0.81693835 0.59555163 0.6960895 0.1667125 0.6631861 0.9718530
[4,] 0.2613363 0.06515864 0.04971742 0.7277188 0.2580444 0.3718222 0.8028141
[5,] 0.2526979 0.49294947 0.97502566 0.7962410 0.8321882 0.2981480 0.7098733
[6,] 0.4245959 0.95951112 0.45632856 0.8227812 0.3542232 0.2680804 0.7042317
现在假设您希望 D 中的第3,4和5列作为 C 中的最后三列,然后您可以简单地说
C[ ,4:6] <- D[ ,3:5]
结果是
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 -1.76111875 0.4621061 0.67138209 0.3175264 0.1067119
[2,] 1 0.40036245 0.9054436 0.62917211 0.1768426 0.3659889
[3,] 1 -1.03238266 -0.6705829 0.59555163 0.6960895 0.1667125
[4,] 1 -0.47064774 0.3119684 0.04971742 0.7277188 0.2580444
[5,] 1 -0.01436411 -0.4688032 0.97502566 0.7962410 0.8321882
[6,] 1 -1.18711832 0.8227810 0.45632856 0.8227812 0.3542232
需要注意的一点是,这需要 C 和 D 之间的行数相同。