> -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Steve Lianoglou > Sent: Tuesday, January 10, 2012 3:28 PM > To: Eric Rupley > Cc: r-help@r-project.org > Subject: Re: [R] short-hand to avoid use of length() in subsetting > vectors? > > Hi, > > On Tue, Jan 10, 2012 at 6:04 PM, Eric Rupley <erup...@umich.edu> wrote: > > > > Hi-- > > > > I suspect this is a frequently considered (and possibly asked) > question, but I haven't thus far found an answer: > > > > For slicing a vector with x[…], is there a symbol for > length(x)? > > > > I'm seeking a short-hand for referring to the length of vector one is > trying to index. > > > > E.g., for a data.frame, say, > > > >> test.frame <-data.frame(matrix(c(1:100),ncol=10,nrow=10,byrow=T)) > >> names(test.frame) <- names(islands)[1:10] > > > > is there a short-hand for subsetting > > > >> test.frame$Baffin[1:(length(test.frame$Baffin)-3)] > > [1] 6 16 26 36 46 56 66 > >> > >> > > > > that would allow one to avoid the "(length(some.dataframe$variable)- > offset)"? > > Sadly there is no shorthand of the (exact) type you are looking for. > > You can access the data like so, however: > > R> head(test.frame$Baffin, -3) > [1] 6 16 26 36 46 56 66 > > I think that's as good as you're going to get, but let's see what > other suggestions pop up. > > -steve >
Steve is probably right. But, here is one suggestion. Since every column of a data frame is the same length, You could try something like test.frame$Baffin[1:(nrow(test.frame)-3)] However, it is only a little bit shorter. Dan Daniel J. Nordlund Washington State Department of Social and Health Services Planning, Performance, and Accountability Research and Data Analysis Division Olympia, WA 98504-5204 ______________________________________________ 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.