【发布时间】:2018-10-03 07:57:26
【问题描述】:
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"
我的数据看起来与此类似。对于 sacc 为 f 的 GY 的所有其余值,我想在最后一次出现“s”后计算 GY 的平均值。在此示例中,我当然可以仅对索引号 71:100 进行平均,但在实际数据中并非如此。
在 Ronak 的评论之后我尝试了什么(谢谢!):
library(dplyr)
example.df %>%
group_by(trial.number) %>%
summarise(mean_tr = mean(GY[(max(which(sacc == "s")) + 1) : n()]))
%>%
data.frame()
我无法让它工作。有人可以帮我吗 ?我的原始 data.frame 是 70k 行,由很多变量组成。 class= 数据帧。
【问题讨论】:
标签: r