gpt4 book ai didi

r - 如何根据因素在 R 中创建一个运行总计?

转载 作者:行者123 更新时间:2023-12-02 06:51:00 25 4
gpt4 key购买 nike

我希望为运动数据创建一个跑分线边距。例如,考虑我的数据如下:

df <- data.frame(Club = c("O", "H", "H", "O", "H", "O", "O"),
TimeOfScore = c("1:30", "2:06", "7:09", "9:09", "11:08", "14:32", "19:11"),
Points = c(1, 3, 1, 2, 2, 3, 3))

在上面,"df$Club==O"代表对手的得分,而df$Club=="H"df$TimeOfScore 列表示得分发生的时间。我想知道对手领先或落后主队多少分的连续比分。

我的预期输出是:

df$Margin <- c(-1, 2, 3, 1, 3, 0, -3)

此输出基于对手球队与主队相比领先或落后多少分。例如,对方队在1:30(1分30秒)时得1分,进入比赛。那个时间点对应的分差为-1,即主队落后一分。在接下来的比赛中,主队得 3 分,然后领先 2 分。

请问我该怎么做?

最佳答案

df$Margin = with(df, cumsum(ifelse(Club == "H", Points, -Points)))
# df
# Club Points Margin
# 1 O 1 -1
# 2 H 3 2
# 3 H 1 3
# 4 O 2 1
# 5 H 2 3
# 6 O 3 0
# 7 O 3 -3

关于r - 如何根据因素在 R 中创建一个运行总计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44580872/

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