[R] short-hand to avoid use of length() in subsetting vectors?
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Jan 11 02:20:26 CET 2012
On 12-01-10 6:04 PM, Eric Rupley 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)?
No, there isn't. You don't need it much, but if you do you'll have to
calculate it. You'll often save a noticeable amount of execution time
if you store it in a local variable rather than calling length(x)
repeatedly.
Duncan Murdoch
>
> 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)"?
>
> I was thinking something paralleling the use of negative indices in […] might exist with seq(from,to), e.g. for the above
>
>> test.frame$Baffin[seq(,7)]
> [1] 6 16 26 36 46 56 66
>>
>
> works. But the fantasy
>
> test.frame$Baffin[seq(,-3)]
>
> obviously doesn't…
>
> Any suggestions will be gratefully appreciated…
>
> As always, many thanks to the patient list members who helps on these simple questions...
>
> Best,
> Eric
>
>
>
> --
> Eric Rupley
> University of Michigan, Museum of Anthropology
> 1109 Geddes Ave, Rm. 4013
> Ann Arbor, MI 48109-1079
>
> erupley at umich.edu
> +1.734.276.8572
>
> ______________________________________________
> R-help at 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.
More information about the R-help
mailing list