如何将变量值重置为0作为起点? [重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我有一个里程表读数,包含以下不同车型的样本数据。我打算重置里程表的值,以有效地测量他行进的距离

样本数据

ID      ODometer

1   2132
1   2133
1   2134
1   2135
1   2136
1   2137
2   1123
2   1124
2   1125

预期:

Expected Output

ID  Odometer
1   1
1   2
1   3
1   4
1   5
1   6
2   1
2   2
2   3  
r
1个回答
2
投票

我们可以在按“ID”分组后使用row_number()

library(dplyr)
df1 %>%
   group_by(ID) %>%
   mutate(Odometer = row_number())
# A tibble: 9 x 3
# Groups:   ID [2]
#     ID ODometer Odometer
#  <int>    <int>    <int>
#1     1     2132        1
#2     1     2133        2
#3     1     2134        3
#4     1     2135        4
#5     1     2136        5
#6     1     2137        6
#7     2     1123        1
#8     2     1124        2
#9     2     1125        3

data

df1 <- structure(list(ID = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L), 
  ODometer = c(2132L, 
 2133L, 2134L, 2135L, 2136L, 2137L, 1123L, 1124L, 1125L)), 
 class = "data.frame", row.names = c(NA, -9L))
© www.soinside.com 2019 - 2024. All rights reserved.