gpt4 book ai didi

r - 在 R 中,如何计算运行次数?

转载 作者:行者123 更新时间:2023-12-02 07:40:32 25 4
gpt4 key购买 nike

假设我有一个如下所示的 R 数据框,其中 end.group 表示一组独特的观察结果的结尾:

x <- data.frame(end.group=c(0,0,1,0,0,1,1,0,0,0,1,1,1,0,1))

我想返回以下内容,其中 group.count 是一组中观察次数的运行计数,group 是每个组的唯一标识符, 按编号顺序。谁能帮我用一段 R 代码来做到这一点?

end.group group.count group
0 1 1
0 2 1
1 3 1
0 1 2
0 2 2
1 3 2
1 1 3
0 1 4
0 2 4
0 3 4
1 4 4
1 1 5
1 1 6
0 1 7
1 2 7

最佳答案

您可以使用cumsumrev 创建group。你需要 rev 因为你有组的终点。

x <- data.frame(end.group=c(0,0,1,0,0,1,1,0,0,0,1,1,1,0,1))
# create groups
x$group <- rev(cumsum(rev(x$end.group)))
# re-number groups from smallest to largest
x$group <- abs(x$group-max(x$group)-1)

现在您可以使用ave 来创建group.count

x$group.count <- ave(x$end.group, x$group, FUN=seq_along)

关于r - 在 R 中,如何计算运行次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11671731/

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