2014-05-21 38 views
-2

在RI秩的新列有具有兩列之一的數據幀是一個值,而另一個是每個值被分配到羣組:ř創建的因素

my_group my_value 
A 1.2 
B 5.4 
C 9.2 
A 1.1 
B 5.2 
C 9.8 
A 1.3 
B 5.1 
C 9.2 
A 1.0 
B 5.7 
C 9.1 

我想創建的第三通過組使用MY_VALUE的平均評級的組和進入每行中該秩柱:

my_group my_value my_group_rank 
A 1.2 3 
B 5.4 2 
C 9.2 1 
A 1.1 3 
B 5.2 2 
C 9.8 1 
A 1.3 3 
B 5.1 2 
C 9.2 1 
A 1.0 3 
B 5.7 2 
C 9.1 1 

回答

1

下面的代碼將添加組行列到數據,不同之處在於行列將在相反的順序,也許你仍然可以使用它。我使用這個包dplyr。在我的例子中,我假設你的數據在一個名爲test的數據框中。

require(dplyr) 

test <- test %>% 
    group_by(my_group) %>% 
    mutate(avg = mean(my_value)) %>% 
    ungroup() %>% 
    mutate(my_group_rank = dense_rank(avg)) %>% 
    select(-avg) 


# my_group my_value my_group_rank 
#1   A  1.2    1 
#2   B  5.4    2 
#3   C  10.2    3 
#4   A  1.1    1 
#5   B  5.2    2 
#6   C  9.8    3 
#7   A  1.3    1 
#8   B  5.1    2 
#9   C  9.2    3 
#10  A  1.0    1 
#11  B  5.7    2 
#12  C  10.1    3