The lengths are different, particularly the length of subsetted x[i] > x <- 1:20 > i <- x %% 2 > 0 > y <- rep(1,20)
> length(x) [1] 20 > length(i) [1] 20 > length(x[i]) [1] 10 > length(y) [1] 20 You happened to be lucky and got what you wanted, but a more reliable approach is: > x[i] <- y[i] Sarah On Thu, Jan 15, 2009 at 1:08 PM, <rkevinbur...@charter.net> wrote: > I have a question on whether a warning message is valid or if I just don't > understand the process. Let me illustrate via some R code: > > x <- 1:20 > i <- x %% 2 > 0 > y <- rep(1,20) > > x[i] <- y > Warning message: > In x[i] <- y : > number of items to replace is not a multiple of replacement length > > But it still does what I would expect for the assignment: > >> x > [1] 1 2 1 4 1 6 1 8 1 10 1 12 1 14 1 16 1 18 1 20 >> > > What don't I understand? > > Thank you. > > Kevin > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.