R 如何对具有相同事件的连续行进行分组并找到平均值?
提前谢谢。我们可以从R 如何对具有相同事件的连续行进行分组并找到平均值?,r,dataframe,R,Dataframe,提前谢谢。我们可以从数据中创建一个带有rleid的分组变量。表,使用该表获取“pt”的平均值,并返回“Event”的第一个值 Event Value 1 2.5 2 4 1 12.5 2 4 我们可以从数据中创建一个带有rleid的分组变量。表,使用它来获取'pt'的平均值,并返回'Event'的第一个值 Event Value 1 2.5 2 4 1 12.5 2 4 另一个选项是使用cumsum: with(group, t
数据中创建一个带有rleid
的分组变量。表
,使用该表获取“pt”的平均值
,并返回“Event”的第一个
值
Event Value
1 2.5
2 4
1 12.5
2 4
我们可以从
数据中创建一个带有rleid
的分组变量。表
,使用它来获取'pt'的平均值
,并返回'Event'的第一个
值
Event Value
1 2.5
2 4
1 12.5
2 4
另一个选项是使用
cumsum
:
with(group, tapply(pt, with(rle(Event),
rep(seq_along(values), lengths)), FUN = mean))
# 1 2 3 4
# 2.5 4.0 12.5 4.0
另一个选项是使用
cumsum
:
with(group, tapply(pt, with(rle(Event),
rep(seq_along(values), lengths)), FUN = mean))
# 1 2 3 4
# 2.5 4.0 12.5 4.0
dfs %>%
mutate(gr = cumsum(Event != lag(Event, default = 0))) %>%
group_by(gr, Event) %>% summarise(mean_Value = mean(Value)) %>%
ungroup()