gpt4 book ai didi

R:根据距离列计算圈数

转载 作者:行者123 更新时间:2023-12-05 01:03:22 26 4
gpt4 key购买 nike

我有一个包含比赛信息的数据框,其中一列显示汽车在特定时间点行驶的距离。它看起来像这样:

data.frame(id = rep(c("A"), each = 15), 
distance = seq(from = 1, to = 20, length.out = 15))

id distance
1 A 1.000000
2 A 2.357143
3 A 3.714286
4 A 5.071429
5 A 6.428571
6 A 7.785714
7 A 9.142857
8 A 10.500000
9 A 11.857143
10 A 13.214286
11 A 14.571429
12 A 15.928571
13 A 17.285714
14 A 18.642857
15 A 20.000000

如果我知道一圈是 5 个单位,我想创建一个新列,根据行驶距离来说明每个数据点的圈数。结果应如下所示:

data.frame(id = rep("A", each = 15), 
distance = seq(from = 1, to = 20, length.out = 15),
lap = c(1,1,1,2,2,2,2,3,3,3,3,4,4,4,4))

id distance lap
1 A 1.000000 1
2 A 2.357143 1
3 A 3.714286 1
4 A 5.071429 2
5 A 6.428571 2
6 A 7.785714 2
7 A 9.142857 2
8 A 10.500000 3
9 A 11.857143 3
10 A 13.214286 3
11 A 14.571429 3
12 A 15.928571 4
13 A 17.285714 4
14 A 18.642857 4
15 A 20.000000 4

我该怎么做,最好使用 tidyverse?

最佳答案

这是一个整数除法问题。只需将距离除以 5,然后取 ceiling,将其四舍五入为最接近的整数。这将为您提供当前圈数:

dplyr::mutate(df, lap = ceiling(distance/5))

id distance lap
1 A 1.000000 1
2 A 2.357143 1
3 A 3.714286 1
4 A 5.071429 2
5 A 6.428571 2
6 A 7.785714 2
7 A 9.142857 2
8 A 10.500000 3
9 A 11.857143 3
10 A 13.214286 3
11 A 14.571429 3
12 A 15.928571 4
13 A 17.285714 4
14 A 18.642857 4
15 A 20.000000 4

关于R:根据距离列计算圈数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74380867/

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