It's easiest to reshape foo first: d <- dim(foo) dim(foo) <- c(d[1]*d[2],d[3])
m <- rowSums(is.na(foo)) and then assign foo[m,] <- NA and reshape dim(foo) <- d (Reshaping just makes the indexing easier). Reid Huntsinger -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dr Carbon Sent: Wednesday, July 27, 2005 1:45 PM To: John Fox Cc: [EMAIL PROTECTED] Subject: Re: [R] setting elements to NA across an array Sorry for being obtuse. How can I build a logical statement that will set foo[2,2,] <- NA and foo[3,5,] <- NA? Something like, if any row and column are NA, then set NA to that row and column to NA for the entire array.... On 7/27/05, John Fox <[EMAIL PROTECTED]> wrote: > Dear Dr Carbon, > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Dr Carbon > > Sent: Wednesday, July 27, 2005 12:19 PM > > To: [EMAIL PROTECTED] > > Subject: [R] setting elements to NA across an array > > > > Please excuse what is obviously a trivial matter... > > > > I have a large 3-d array. I wish to set the third dimension > > (z) to NA if there are any NA values in the first two > > dimnesions (xy). So, given array foo: > > > > foo <- array(data = NA, dim = c(5,5,3)) > > foo[,,1] <- matrix(rnorm(25), 5, 5) > > foo[,,2] <- matrix(rnorm(25), 5, 5) > > foo[,,3] <- matrix(rnorm(25), 5, 5) > > > > I'll set two elements to NA > > > > foo[2,2,1]<- NA > > foo[3,5,2]<- NA > > foo > > > > Now I want to set foo[2,2,] <- NA and foo[3,5,] <- NA. How > > can I build a logical statement to do this? > > > > That should work just as you've specified it: That is, elements in all > "layers" in the second row, second column and in the the third row, fifth > column of the array should be NA. Since you posed the question, I suppose > that I'm missing something. > > I hope this helps, > John > > > ______________________________________________ > > [email protected] mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide! > > http://www.R-project.org/posting-guide.html > > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
