pac*_*met 25 r matrix dataframe
我需要更改/反转数据框中的行,而不是转置数据,而是将底行移到顶部,依此类推.如果数据框是:
1 2 3
4 5 6
7 8 9
Run Code Online (Sandbox Code Playgroud)
我需要转换为
7 8 9
4 5 6
1 2 3
Run Code Online (Sandbox Code Playgroud)
我读过sort()
但我不认为这是我需要的,或者我无法找到方法.
And*_*rie 39
可能有更优雅的方式,但这有效:
m <- matrix(1:9, ncol=3, byrow=TRUE)
# m[rev(seq_len(nrow(m))), ] # Initial answer
m[nrow(m):1, ]
[,1] [,2] [,3]
[1,] 7 8 9
[2,] 4 5 6
[3,] 1 2 3
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为您使用反转的整数序列作为行索引索引矩阵. nrow(m):1
结果3 2 1
.
Hol*_*ndl 27
您可以使用dplyr
包反转data.frame的顺序:
iris %>% arrange(-row_number())
Run Code Online (Sandbox Code Playgroud)
或者不使用管道操作员
arrange(iris, -row_number())
Run Code Online (Sandbox Code Playgroud)
我认为这是最简单的方法:
MyMatrix = matrix(1:20, ncol = 2)
MyMatrix[ nrow(MyMatrix):1, ]
Run Code Online (Sandbox Code Playgroud)
如果要反转列,只需执行
MyMatrix[ , ncol(MyMatrix):1 ]
Run Code Online (Sandbox Code Playgroud)