gpt4 book ai didi

r - 如何创建连续的组号

转载 作者:行者123 更新时间:2023-12-03 11:33:30 27 4
gpt4 key购买 nike

我有一个数据框(all_data),其中有一个站点列表(1 ...至n)及其分数,例如

  site  score
1 10
1 11
1 12
4 10
4 11
4 11
8 9
8 8
8 7

我想创建一列,以数字顺序对网站的每个级别进行编号,例如计数器。在此示例中,站点(1、4和8)在“数字”列中将具有从1到3的对应计数器:
site  score number
1 10 1
1 11 1
1 12 1
4 10 2
4 11 2
4 11 2
8 9 3
8 8 3
8 7 3

我相信这必须很容易解决,但是我还没有找到办法。

最佳答案

试试Data$number <- as.numeric(as.factor(Data$site))
旁注:一方面,我和@Chase的解决方案之间的区别,另一方面,对于@DWin的解决方案之间的区别是数字的排序。 as.factorfactor都将自动对级别进行排序,而@DWin解决方案中不会发生这种情况:

Dat <- data.frame(site = rep(c(1,8,4), each = 3), score = runif(9))

Dat$number <- as.numeric(factor(Dat$site))
Dat$sitenum <- match(Dat$site, unique(Dat$site) )


> Dat
site score number sitenum
1 1 0.7377561 1 1
2 1 0.3131139 1 1
3 1 0.7862290 1 1
4 8 0.4480387 3 2
5 8 0.3873210 3 2
6 8 0.8778102 3 2
7 4 0.6916340 2 3
8 4 0.3033787 2 3
9 4 0.6552808 2 3

关于r - 如何创建连续的组号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com