sjg*_*ght 4 indexing counter r plyr seq
我有一个像
ProjectID Dist
1 x
1 y
2 z
2 x
2 h
3 k
.... ....
Run Code Online (Sandbox Code Playgroud)
我想添加第三列,以便每个ProjectID都有一个递增计数器:
ProjectID Dist counter
1 x 1
1 y 2
2 z 1
2 x 2
2 h 3
1 k 3
.... ....
Run Code Online (Sandbox Code Playgroud)
我看了一下,seq rank还有其他一些地方,特别是看我是否可以使用ddply以帮助您:
df$counter <- ddply(df,.(projectID), function(x).....? )
Run Code Online (Sandbox Code Playgroud)
我想我可以调整此答案如何按组创建计数器/计数?但是更喜欢使用ddply之类的东西(我找不到与cumsum等效的东西,但是我认为这是相同的原理:在Pandas中按组创建整数递增的序列)。那会让我索引列表中的出现(例如在此列表上合并)。
一个dplyr解决方案很简单:
library(dplyr)
df %>% group_by(ProjectID) %>% mutate(counter = row_number(ProjectID))
# ProjectID Dist counter
#1 1 x 1
#2 1 y 2
#3 2 z 1
#4 2 x 2
#5 2 h 3
#6 1 k 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4788 次 |
| 最近记录: |