gpt4 book ai didi

r - 在 R 中对数据表中的连续行进行分组

转载 作者:行者123 更新时间:2023-12-05 08:18:42 28 4
gpt4 key购买 nike

我找不到这个简单问题的解决方案。我有一个这样的数据框:

df = data.table(X1 = 1:12, X2 = LETTERS[1:12])

我想创建一个名为 group 的新变量,我想将连续的行按 3 分组。例如:第 1-3 行将是 group0,第 4-6 行将是 group2等等。

预期结果:

    X1 X2 group
1: 1 A 0
2: 2 B 0
3: 3 C 0
4: 4 D 1
5: 5 E 1
6: 6 F 1
7: 7 G 2
8: 8 H 2
9: 9 I 2
10: 10 J 3
11: 11 K 3
12: 12 L 3

最佳答案

Mod operator %/% 是一种简单的方法来做这样的事情:

df[, group := (1:.N - 1) %/% 3]
df
# X1 X2 group
# 1: 1 A 0
# 2: 2 B 0
# 3: 3 C 0
# 4: 4 D 1
# 5: 5 E 1
# 6: 6 F 1
# 7: 7 G 2
# 8: 8 H 2
# 9: 9 I 2
#10: 10 J 3
#11: 11 K 3
#12: 12 L 3

关于r - 在 R 中对数据表中的连续行进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53857580/

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