当前位置 : 主页 > 手机开发 > 无线 >

移动表格中的位置 – R.

来源:互联网 收集:自由互联 发布时间:2021-06-10
在R中,考虑到通用矩阵A,如何将三角形NA移动到矩阵B中的位置?矩阵是m x n怎么样? A - matrix(c(3, NA, NA, 4, 2, NA, 1, 5, 3), nrow = 3) A [,1] [,2] [,3][1,] 3 4 1[2,] NA 2 5[3,] NA NA 3 B - matrix(c(3, 2, 3, 4, 5,
在R中,考虑到通用矩阵A,如何将三角形NA移动到矩阵B中的位置?矩阵是m x n怎么样?

> A <- matrix(c(3, NA, NA, 4, 2, NA, 1, 5, 3), nrow = 3)
> A
     [,1] [,2] [,3]
[1,]    3    4    1
[2,]   NA    2    5
[3,]   NA   NA    3


> B <- matrix(c(3, 2, 3, 4, 5, NA, 1, NA, NA), nrow = 3)
> B
     [,1] [,2] [,3]
[1,]    3    4    1
[2,]    2    5   NA
[3,]    3   NA   NA

谢谢!

我不知道是否有更惯用的方式,但这似乎做你想要的:

A <- matrix(c(3, NA, NA, 4, 2, NA, 1, 5, 3), nrow = 3)
A

     [,1] [,2] [,3]
[1,]    3    4    1
[2,]   NA    2    5
[3,]   NA   NA    3

t(apply(A, 1, function(x) x[order(is.na(x))]))

     [,1] [,2] [,3]
[1,]    3    4    1
[2,]    2    5   NA
[3,]    3   NA   NA

A <- matrix(c(3, NA, NA, NA, 4, 2, NA, NA, 1, 5, 3, NA), nrow=4)
A

     [,1] [,2] [,3]
[1,]    3    4    1
[2,]   NA    2    5
[3,]   NA   NA    3
[4,]   NA   NA   NA


t(apply(A, 1, function(x) x[order(is.na(x))]))

     [,1] [,2] [,3]
[1,]    3    4    1
[2,]    2    5   NA
[3,]    3   NA   NA
[4,]   NA   NA   NA

A <- matrix(c(3, NA, NA, 4, 2, NA, 1, 5, 3, 6, 7, 8), nrow=3)
A

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

t(apply(A, 1, function(x) x[order(is.na(x))]))

     [,1] [,2] [,3] [,4]
[1,]    3    4    1    6
[2,]    2    5    7   NA
[3,]    3    8   NA   NA
网友评论