odd, even indices of a vector
Hi Carol,
On 07/21/2014 01:33 PM, carol white wrote:
Might be a trivial question but how to identify the odd and even indices of a vector? x = c(1,z,w,2,6,7) el of odd indices= 1,w,6 el of even indices= z,2,7
The easiest way is to subset your vector with c(TRUE, FALSE) to keep only the odd indices: > letters[c(TRUE, FALSE)] [1] "a" "c" "e" "g" "i" "k" "m" "o" "q" "s" "u" "w" "y" and with c(FALSE, TRUE) to keep only the even indices: > letters[c(FALSE, TRUE)] [1] "b" "d" "f" "h" "j" "l" "n" "p" "r" "t" "v" "x" "z" Note that the above doesn't work properly with vector of length < 2. A method that works independently of the length of the vector (using the is.odd and is.even functions from the "identifying odd or even number" post that you referred to): x[is.odd(seq_along(x))] x[is.even(seq_along(x))] Hope this helps, H.
given the def of odd and even in https://stat.ethz.ch/pipermail/r-help/2010-July/244299.html should a loop be used? for (i in 1: length(x)) if (is.odd(i)) print (i) Carol [[alternative HTML version deleted]]
______________________________________________ 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.
Herv? Pag?s Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fhcrc.org Phone: (206) 667-5791 Fax: (206) 667-1319