[R] Apply function to every 'nth' element of a vector
ken knoblauch
ken.knoblauch at inserm.fr
Thu Apr 5 13:52:02 CEST 2012
Michael Bach <phaebz <at> gmail.com> writes:
> how do I e.g. square each second element of a
vector with an even
> number of elements? Or more generally to
apply a function to every
> 'nth' element of a vector. I looked into the
apply functions, but
> found no hint.
> For example:
> v <- c(1, 2, 3, 4)
> mysquare <- function (x) { return (x*x) }
> w <- applyfun(v, mysquare, 2)
> then w should be c(1, 4, 3, 16)
> Michael Bach
Hi Michael,
v^(2 - seq_along(v) %% 2)
[1] 1 4 3 16
Ken
--
Ken Knoblauch
Inserm U846
Stem-cell and Brain Research Institute
Department of Integrative Neurosciences
18 avenue du Doyen Lépine
69500 Bron
France
tel: +33 (0)4 72 91 34 77
fax: +33 (0)4 72 91 34 61
portable: +33 (0)6 84 10 64 10
http://www.sbri.fr/members/kenneth-knoblauch.html
More information about the R-help
mailing list