You might have better luck reformatting your data as time series, then you can still print it in a matrix like form, but access it serially without worrying about wrapping around rows.
Another option would be to transpose the matrix so that months go down the columns, then use the %% and %/% operators to find the vector indexes of the elements and just access them directly rather than as matrix elements (a matrix is just a vector that knows its dimensions). -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.s...@imail.org 801.408.8111 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r- > project.org] On Behalf Of Alisa Wade > Sent: Wednesday, October 13, 2010 2:11 PM > To: r-help@r-project.org > Subject: [R] Matrix subscripting to wrap around from end to start of > row > > 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. ______________________________________________ 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.