在 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)
我正在努力
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)