将数据框旋转180度

时间:2014-09-24 18:40:41

标签: r

假设我得到以下数据框(df):

A   B
1   2
3   4
5   6

我想把它颠倒过来

A   B
5   6
3   4
1   2

我使用了以下代码

>sort(df[,1:2], decreasing = TRUE)

然而,它给了我以下错误:

Error in `[.data.frame`(x, order(x, na.last = na.last, decreasing = decreasing)) : undefined columns selected

当我只指定一个列时它可以工作,但我需要同时对两个列进行排序。

1 个答案:

答案 0 :(得分:3)

您可以使用rev来反转行名称

df[rev(rownames(df)),]
#   A B
# 3 5 6
# 2 3 4
# 1 1 2

如果要更正新的反转行名称,可以编写一个小函数

flip <- function(data) {
    new <- data[rev(rownames(data)), ]
    rownames(new) <- NULL
    new
}
flip(df)
#   A B
# 1 5 6
# 2 3 4
# 3 1 2