On Apr 25, 2010, at 2:22 PM, Chuck Cleland wrote:

On 4/25/2010 2:10 PM, Alan Lue wrote:
Hi,

Is there a way to specify the last element of a vector, similar to "end" in
MATLAB?

 v[end]

would be MATLAB for

 v(length(v))

in R.

While `v(length(v))' does yield the last element, that approach fails in the
following,

 rep(v, each=2)[-c(1,length(v))]

Cleland's example works, but I thought you might be interested in ideas about why your approach did not. The length of you rep-ed vector was twice as long as the original so this method, which only adds a factor of two to the length argument, succeeds:

>  rep(v, each=2)[-c(1,2*length(v))]
[1] 1 2 2 3 3 4

--
David.


which is meant to duplicate all elements of `v' except for the first and
last.  (I.e., if `v <- 1:4', then we want '1 2 2 3 3 4'.)

v <- 1:4

rep(v, c(1, rep(2, length(v) - 2), 1))
[1] 1 2 2 3 3 4

So the question is, is there a better way specify the last element of a vector? If not, is there a better way to duplicate all elements of a vector except for the first and last? (I know you can achieve this using two
lines, but I'm writing because I want to do it using one.)

Alan

--
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894

______________________________________________
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.

David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to