example.df <- data.frame(GY = sample(300:600, 200, replace = T), sacc
= rep("f", each = 100), trial.number = rep(1:2,
each = 100), stringsAsFactors = F)
example.df$sacc[50:70] <- "s"
example.df$sacc[164:170] <- "s"
У меня есть данные, похожие на это.Я хотел бы рассчитать среднее значение GY после последнего появления «s» для всех остальных значений GY, где sacc равно f.В этом примере я мог бы, конечно, усреднить только индекс с номером 71: 100, однако в реальных данных это не так.
То, что я попробовал после комментария Ронак (спасибо!):
library(dplyr)
example.df %>%
group_by(trial.number) %>%
summarise(mean_tr = mean(GY[(max(which(sacc == "s")) + 1) : n()]))
%>%
data.frame()
Я не могу заставить его работать.Кто-нибудь может мне помочь ?Мой оригинальный data.frame состоит из 70 тыс. Строк и состоит из множества переменных.класс = data.frame.