Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从矩阵中复制一行并将其设置为r中另一个矩阵中的行?_R_Matrix - Fatal编程技术网

如何从矩阵中复制一行并将其设置为r中另一个矩阵中的行?

如何从矩阵中复制一行并将其设置为r中另一个矩阵中的行?,r,matrix,R,Matrix,我有两个矩阵sampleMatrix,它有2行9列和oldCase,它有1行9列。最初,矩阵如下所示: sampleMatrix: [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [1,] NA NA NA NA NA NA NA NA NA [2,] NA NA NA NA NA NA NA NA NA oldCase: Pn Te VTB TB

我有两个矩阵
sampleMatrix
,它有2行9列
oldCase
,它有1行9列。最初,矩阵如下所示:

sampleMatrix:
         [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA
[2,]   NA   NA   NA   NA   NA   NA   NA   NA   NA

oldCase:
  Pn       Te VTB TB Sm LC Br XR Dy
   0 38.73447   0  1  1  0  0  1  0
我想从
oldCase
复制整行,并将其设置为
sampleMatrix
的第一行。因此,我:

sampleMatrix:
     [,1]     [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,]    0 38.73447    0    0    1    1    0    1    0
[2,]   NA       NA   NA   NA   NA   NA   NA   NA   NA

我可以运行一个循环并直接复制列值,但我想知道是否有一种更简洁的方法可以使用r中的特殊函数来实现这一点。感谢您的帮助。谢谢:)

正如@allan cameron的评论:

您的代码示例:

sampleMatrix <- matrix(rep(NA, 18), nrow=2)
sampleMatrix
oldCase
的第1行(所有列)重新分配到
sampleMatrix
的第1行(所有列):

sampleMatrix[1,] <- oldCase[1,]
sampleMatrix
sampleMatrix[1,]
oldCase <- matrix(c(0,38.73447,0,1,1,0,0,1,0), nrow=1)
colnames(oldCase) <- c("Pn","Te","VTB","TB","Sm","LC","Br","XR","Dy")
oldCase
     Pn       Te VTB TB Sm LC Br XR Dy
[1,]  0 38.73447   0  1  1  0  0  1  0
sampleMatrix[1,] <- oldCase[1,]
sampleMatrix
     [,1]     [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,]    0 38.73447    0    1    1    0    0    1    0
[2,]   NA       NA   NA   NA   NA   NA   NA   NA   NA