2014-09-24 106 views
1

假设我得到了以下数据帧(DF):旋转数据帧180度

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 

当我指定只有一列它的工作,但我需要两个列一次排序。

+5

尝试'DF [nrow(DF ):1,]' – 2014-09-24 18:43:29

+1

如果你想要它颠倒,那么这根本就不是真正的排序。试试'df [nrow(df):1,]' – MrFlick 2014-09-24 18:43:41

+0

这很正常@AndreyShabalin – athraa 2014-09-24 18:55:17

回答

2

你可以使用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