gpt4 book ai didi

r - 计算从 R 干预开始的百分比

转载 作者:行者123 更新时间:2023-12-04 16:59:42 26 4
gpt4 key购买 nike

我有一个数据框,它具有一组运动员在 8 周时间段内的垂直跳跃能力。一名运动员只完成了七周。我想计算一个名为“percent.change”的新变量,它计算整个研究期间每个星期的第一周的百分比差异。我一直在尝试使用 dplyr 来解决这个问题,但我被卡住了。我想知道是否有人有一个简单的解决方案。

数据框称为weeklyPower。 weeklyPower 的示例如下:

athlt week     power
E 1 25.20015
E 2 25.54569
E 3 24.52463
E 4 24.88044
E 5 25.11421
E 6 25.86154
E 7 26.08613
E 8 25.90775
K 1 29.74277
K 2 28.80131
K 3 28.96818
K 4 29.62439
K 5 29.98119
K 6 29.11570
K 7 29.96380
T 1 25.02413
T 2 23.75867
T 3 25.25716
T 4 24.73285
T 5 27.02891
T 6 25.60140
T 7 25.64665
T 8 24.38937

非常感谢您的任何想法。

马特

最佳答案

使用 dplyr 你可以这样做:

df %>% 
group_by(athlt) %>%
arrange(week) %>%
mutate(cp = power / first(power) * 100)

这使:
#Source: local data frame [23 x 4]
#Groups: athlt

# athlt week power cp
#1 E 1 25.20015 100.00000
#2 E 2 25.54569 101.37118
#3 E 3 24.52463 97.31938
#4 E 4 24.88044 98.73132
#5 E 5 25.11421 99.65897
#6 E 6 25.86154 102.62455
#7 E 7 26.08613 103.51577
#8 E 8 25.90775 102.80792
#9 K 1 29.74277 100.00000
#10 K 2 28.80131 96.83466

或另一种选择:
df %>% 
group_by(athlt) %>%
mutate(cp = power / power[which.min(week)] * 100)

关于r - 计算从 R 干预开始的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29886188/

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