在 R 中以简单的方式重新排列我的 2x2 矩阵时遇到问题

trouble rearranging my 2x2 matrix in a simple way in R

我正在努力

df<-matrix(1:4,nrow = 2,ncol = 2)
df
     [,1] [,2]
[1,]    1    3
[2,]    2    4

进入

matrix(c(2,4,1,3),nrow = 1,ncol = 4)
2    4    1    3 

这样我就可以 运行 通过 for 循环得到 rbind 许多条目。

我一直在努力

cbind(df[row 2,],df[row 1,])

但它不起作用。有没有一种简单的方法可以做到这一点,不需要我将矩阵分开然后再将它们重新组合在一起?

也许你可以试试下面的代码

r <- unlist(rev(data.frame(t(df))))

r <- do.call(c,rev(split(df,1:nrow(df))))

r <- unlist(rev(split(df,1:nrow(df))))

我们可以使用

t(c(t(df[nrow(df):1, ])))
#      [,1] [,2] [,3] [,4]
#[1,]    2    4    1    3

这是另一种方法。如果不调用 matrix 它 returns 一个向量,而不是矩阵。

df <- matrix(1:4, 2)

matrix(c(t(df[nrow(df):1,])), 1)
#     [,1] [,2] [,3] [,4]
#[1,]    2    4    1    3

将评论变成答案,第四个选项是

rev(t(m[, ncol(m):1]))
# [1] 2 4 1 3

m <- matrix(1:4, 2)