gpt4 book ai didi

r - data.table 中有没有办法根据标识符按组分配 ID?

转载 作者:行者123 更新时间:2023-12-04 17:34:12 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





data.table "key indices" or "group counter"

(2 个回答)


6年前关闭。




假设我有如下数据:

Name      Date
Bank1 1/1/2005
Bank1 6/1/2005
Bank1 1/1/2006
Bank1 6/1/2006
Bank1 1/1/2007
Bank2 6/1/2006
Bank2 1/1/2007
Bank3 6/1/2005
Bank3 1/1/2006
Bank3 6/1/2006
Bank3 1/1/2007
....

这里的第一个日期是 1/1/2005,最后一个日期是 1/1/2007。我想分配一个 ID,以便我拥有:
Name      Date         ID
Bank1 1/1/2005 1
Bank1 6/1/2005 2
Bank1 1/1/2006 3
Bank1 6/1/2006 4
Bank1 1/1/2007 5
Bank2 6/1/2006 4
Bank2 1/1/2007 5
Bank3 6/1/2005 2
Bank3 1/1/2006 3
Bank3 6/1/2006 4
Bank3 1/1/2007 5
....

我基本上想为与所有日期的顺序相对应的日期分配一个 ID。此外,Bank1 拥有所有日期的完整列表。我想知道 data.table 中是否有一种简单的方法可以做到这一点。我尝试过循环之类的东西,但在更高的维度上它变得更难。任何建议将不胜感激,谢谢!

最佳答案

我认为您正在寻找特殊符号 .GRP :

dt[, id := .GRP, by=Date]
# Name Date id
# 1: Bank1 1/1/2005 1
# 2: Bank1 6/1/2005 2
# 3: Bank1 1/1/2006 3
# 4: Bank1 6/1/2006 4
# 5: Bank1 1/1/2007 5
# 6: Bank2 6/1/2006 4
# 7: Bank2 1/1/2007 5
# 8: Bank3 6/1/2005 2
# 9: Bank3 1/1/2006 3
# 10: Bank3 6/1/2006 4
# 11: Bank3 1/1/2007 5

关于r - data.table 中有没有办法根据标识符按组分配 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28910376/

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