R - 通过数据框中变量的每个单独实例计算值

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

我有一个包含多个变量实例及其持续时间的数据框。我想组合每个变量的每个单独实例并计算它们的持续时间。

我在下面提供了一个示例和预期结果。

Example data frame:
x <- c("w", "i", "i", "w", "w", "w", "i")
duration <- c(3,4,4,2,1,5,6)

xd <- cbind(x,duration)

What I would like the output to be is:
x_group <- c("w", "i", "w", "i")
duration_group <- c(3,8,8,6)

xd_wanted_outcome<-cbind(x_group,duration_group)

我尝试过使用 group_by - 但它将所有实例分组在一起。

r dataframe dplyr grouping summarize
1个回答
0
投票
xd <- data.frame(x,duration)

xd |>
  mutate(grp = consecutive_id(x)) |>
  summarize(duration = sum(duration), .by = c(x, grp)) |>
  select(-grp)

  x duration
1 w        3
2 i        8
3 w        8
4 i        6
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.