Perhaps it is just that I don't even know the correct term to search for, but I can find nothing that explains how to wrap around from the end to a start of a row in a matrix.
For example, you have a matrix of 2 years of data, where rows are years, and columns are months. month.data = matrix(c(3,4,6,8,12,90,5,14,22, 8), nrow = 2, ncol=5) I would like to take the average of months 5:1 for each year (for row 1 =12.5). However, I am passing the start month (5) and the end month (1) as variables. I would like to do something like year.avg = apply(month.data[, start.month:end.month], MARGIN=1, mean) But that gives me the average of months 1:5. (for row 1 =9.6) I know I could use: apply(month.data[, c(1,5)], 1, mean) but I don't know how to pass start.month, end.month into that format that because paste or sprintf forces them to strings, which are not accepted in a subscript. I have the feeling I am unaware of some obvious trick. Any ideas would be greatly appreciated! ***************************************************** Alisa A. Wade Postdoctoral Center Associate National Center for Ecological Analysis and Synthesis w...@nceas.ucsb.edu (406) 529-9722 home email: alis...@gmail.com [[alternative HTML version deleted]] ______________________________________________ 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.