2014-09-24 107 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