2016-08-31 51 views
0

我需要用R中的连续编号重命名我的绘图,但每个绘图具有不同的行数。我怎样才能分配一个新的顺序图号码考虑到这一点?使用R替换连续编号的绘图编号,每个绘图具有不同的行数

对不起,我不知道如何制作一个可重现的例子。在下表中,一些图没有数据,因此编号(列'Plotn')不是顺序的。我想创建一个完全像列'Plotn1'的新列。也许这是一个简单的问题,但我看起来很高,并且找不到答案。谢谢。

Plotn Species    Diameter Plotn1 
1  Eucalyptus regnans 10  1 
1  Eucalyptus obliqua 30  1 
1  Eucalyptus obliqua 12  1 
1  Eucalyptus obliqua 34  1 
4  Eucalyptus regnans 45  2 
5  Eucalyptus regnans 34  3 
5  Eucalyptus obliqua 34  3 
5  Eucalyptus regnans 22  3 
6  Eucalyptus obliqua 34  4 
6  Eucalyptus obliqua 33  4 
+0

'as.numeric(因子(X))'在基地RI认为 - 相关 - http://stackoverflow.com/questions/36189967/how-do-i-preserve-continuous-1-2-3-n-ranking-notation-when-ranking-in-r/36191113 – thelatemail

回答

1

有在dplyr一个dense_rank方法,在这种情况下工作:

dplyr::dense_rank(df$Plotn) 
# [1] 1 1 1 1 2 3 3 3 4 4 

或者frankdata.table

data.table::frank(df$Plotn, ties.method = "dense") 
# [1] 1 1 1 1 2 3 3 3 4 4 
+0

谢谢! dplyr中的dense_rank工作正常。谢谢! – LvG