【发布时间】:2014-11-09 18:29:40
【问题描述】:
我正在尝试对计数进行排名,这取决于数据框中的两个因素。但是,我想对关系进行特殊处理。如果两个值相等,我希望它们具有相等的平局值。但是,排名中的下一个值应该具有下一个整数排名。
当我获得唯一值的数据框时,我遇到了困难,条件是因子种类。 (在我的实际数据集中,它取决于三个因素)。
species <- c(rep("a", 3), rep("b", 4))
df <- data.frame(species, count = c("1", "1", "5", "1", "3", "3", "4"))
df$rank <- ave(df$count, df$species, FUN = rank)#doesnt get the output i'd like
#desired output
df$rank.good <- c("1", "1", "2", "1", "2", "2", "3")
df
【问题讨论】:
-
我不确定我是否理解您想要的输出,因为
df.3将NA列为其中之一。也许您需要dplyr包中的dense_rank函数? -
只是想澄清一下,对不起,我以为我已经让代码的第一部分工作了。我认为dense_rank 就是我要找的!