【发布时间】:2017-10-29 22:48:24
【问题描述】:
示例数据帧:
df = read.table(text = 'colA colB
2 7
2 7
2 7
2 7
1 7
1 7
1 7
89 5
89 5
89 5
88 5
88 5
70 5
70 5
70 5
69 5
69 5
44 4
44 4
44 4
43 4
42 4
42 4
41 4
41 4
120 1
100 1', header = TRUE)
我需要添加一个基于colA 和colB 的索引col,其中colB 显示要分组的确切行数,但它可以重复。 colB 根据 colA 和 colA -1 对行进行分组。
预期输出:
colA colB index_col
2 7 1
2 7 1
2 7 1
2 7 1
1 7 1
1 7 1
1 7 1
89 5 2
89 5 2
89 5 2
88 5 2
88 5 2
70 5 3
70 5 3
70 5 3
69 5 3
69 5 3
44 4 4
44 4 4
44 4 4
43 4 4
42 4 5
42 4 5
41 4 5
41 4 5
120 1 6
100 1 7
更新
如何通过查看基于colA、colA -1 和colA -2 分组的colB 值来调整适用于上述df 的代码?即(而不是考虑 3 天的 2 天)
new_df = read.table(text = 'colA colB
3 10
3 10
3 10
2 10
2 10
2 10
2 10
1 10
1 10
1 10
90 7
90 7
89 7
89 7
89 7
88 7
88 7
71 7
71 7
70 7
70 7
70 7
69 7
69 7
44 5
44 5
44 5
43 5
42 5
41 5
41 5
41 5
40 5
40 5
120 1
100 1', header = TRUE)
预期输出:
colA colB index_col
3 10 1
3 10 1
3 10 1
2 10 1
2 10 1
2 10 1
2 10 1
1 10 1
1 10 1
1 10 1
90 7 2
90 7 2
89 7 2
89 7 2
89 7 2
88 7 2
88 7 2
71 7 3
71 7 3
70 7 3
70 7 3
70 7 3
69 7 3
69 7 3
44 5 4
44 5 4
44 5 4
43 5 4
42 5 4
41 5 5
41 5 5
41 5 5
40 5 5
40 5 5
120 1 6
100 1 7
谢谢
【问题讨论】:
-
我不明白
index_col是什么。两组colA后会增加吗? -
问题已更新
-
index_col 每次找到新的 colB 值时都会增加,但我需要区分重复的 colB 值,因为 colB 组 colA 基于 colA 和 colA -1
-
为什么 index_col 在 colA=69 和 colA=89 之间增加?
-
所以,
colB的值决定了index_col的重复次数,对吧?
标签: r dataframe indexing add col