Sorry I didn't give the proper initialization of j. But you are right j should also be an array of 5. So x[j + 5] would return 5 values.
So if the array returned from 'ifelse' is the same dimention as test (h), then are all the values of h being tested? So since h as you say has no dimensions is the test only testing h[1]? Again it seems that if all of the elements of h are tested (there are 5 elements) and each element produces an array of 5 the resulting array should be 25. Kevin ---- "Charles C. Berry" <cbe...@tajo.ucsd.edu> wrote: > On Mon, 19 Jan 2009, rkevinbur...@charter.net wrote: > > > I am having a hard time understanding what is happening with ifelse. > > > > Let me illustrate: > > > > h <- numeric(5) > > p <- 1:5 > > j <- floor(j) > > And j is 0:4 + epsilon , where 0 <= epsilon < 1, evidently. > > > x <- 1:1000 > > ifelse(h == 0, x[j+2], 1:5) > > [1] 2 3 4 5 6 > > > > My question is, "shouldn't this be retruning 25 numbers?" > > > No. It should be > > A vector of the same length and attributes (including class) as > test and data values from the values of yes or no > > according to ?ifelse, and 'test' is what you have as 'h' > > Consider > > > z <- as.data.frame( diag(2 ) ) > > ifelse(z == 0, letters , 1:5) > V1 V2 > [1,] "1" "c" > [2,] "b" "4" > > > > all args have different lengths and classes. But the result has those of > the 'test' arg. > > > > It seems that the ifelse should check 5 values of h for zero. For each > > of the 5 values I am thinking it should return an array of 5 (x[j+2] if > > h[index] == 0). Since the dimension of h is 5 that would mean 25 values. > > h has no attributes, therefore no 'dimension' > > HTH, > > Chuck > > > But that isn't what is being returned.Something about this that I don't > > understand. Please help my ignorance. > > > > Thank you. > > > > Kevin > > > > ______________________________________________ > > 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. > > > > Charles C. Berry (858) 534-2098 > Dept of Family/Preventive > Medicine > E mailto:cbe...@tajo.ucsd.edu UC San Diego > http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901 > > ______________________________________________ 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.