我需要用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
在这种情况下,dplyr
中有一个dense_rank
方法:
dplyr::dense_rank(df$Plotn)
# [1] 1 1 1 1 2 3 3 3 4 4
或frank
from data.table
:
data.table::frank(df$Plotn, ties.method = "dense")
# [1] 1 1 1 1 2 3 3 3 4 4