以下是一个使用R语言计算日期按ID计数的示例代码:
# 创建示例数据
df <- data.frame(ID = c(1, 1, 2, 2, 2, 3, 3, 3, 3),
Date = c("2021-01-01", "2021-01-02", "2021-01-01", "2021-01-02", "2021-01-03", "2021-01-01", "2021-01-02", "2021-01-03", "2021-01-04"))
# 将日期列转换为日期类型
df$Date <- as.Date(df$Date)
# 按ID计数日期
df$count <- ave(df$Date, df$ID, FUN = function(x) seq_along(x))
# 查看结果
print(df)
输出结果:
ID Date count
1 1 2021-01-01 1
2 1 2021-01-02 2
3 2 2021-01-01 1
4 2 2021-01-02 2
5 2 2021-01-03 3
6 3 2021-01-01 1
7 3 2021-01-02 2
8 3 2021-01-03 3
9 3 2021-01-04 4
以上代码首先创建了一个包含ID和日期的数据框。然后,将日期列转换为日期类型。接下来,使用ave()
函数按ID分组,在每个组内使用seq_along()
函数计算每个日期的计数。最后,将计数结果赋给新的列count
。最后一步是可选的,可以根据需要进行调整。最后,打印出结果。
上一篇:按ID重新塑造数据框