Hi! Maybe not the most elegant solution, but works:
for(i in seq(1,length(data)-(length(data) %% 3), 3)) { ifelse((length(data)-i)>3, { print(sort(data)[ c(i:(i+2)) ]); print(mean(sort(data)[ c(i:(i+2)) ])) }, { print(sort(data)[ c(i:length(data)) ]); print(mean(sort(data)[ c(i:length(data)) ])) } ) }
Produces: [1] 36 45 46 [1] 42.33333 [1] 66 78 125 [1] 89.66667 [1] 193 209 242 297 [1] 235.25 HTH, Kimmo ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.