|
Re: masking z values (extract or subset on a 3-d array): msg#00065lang.r.geo
Andy, Maybe this is confusing because the data really ought to be in a dataframe with factors coding for treatments? Here's one solution: foo[,'z',] <- sapply(foo[,'z',], function(x) max(c(x, 0))) THK On 5/26/06, Andy Bunn <abunn@xxxxxxxx> wrote: > > > > This is driving me nuts. I have a 3-D array that holds x,y,z > > > coordinates from multiple experiments. I need to clean the > > data before > > > making it sp objects. I want to set all z-values < 0 to 0. In a 2-D > > > matrix this is trivial e.g., x[,x[1,]<0] <- 0. But I'm > > stumped on how > > > to do this on a 3-D array without a loop. Given an array: > > > > > > foo <- array(rnorm(24), dim=c(4,3,2)) > > > dimnames(foo) <- > > list(NULL,c('x','y','z'),c('Experiment1','Experiment2')) > > > foo[,'z',] > > > > > > How can I set foo[,'z',]<0 to 0? > > > > a <- array(rnorm(64), c(4,4,4)) > > inds <- which(a < 0, arr.ind=TRUE) > > a[inds] <- 0 > > > > Thanks, but I'm looking to set only the values from one dimension to zero. > As above, I just want to set the 'z' values to 0 if they are less than > one. > This works: > > foo <- array(rnorm(24), dim=c(4,3,2)) > dimnames(foo) <-list(NULL,c('x','y','z'),c('Experiment1','Experiment2')) > foo[,'z',] > #How can I set foo[,'z',]<0 to 0 > for(i in 1:2){ > foo[foo[,'z',i]<0,'z',i] = 0 > } > foo > > But it seems like one should be able to do this with apply or just '['. > I'm > at a loss. > > -A > > _______________________________________________ > R-sig-Geo mailing list > R-sig-Geo@xxxxxxxxxxxxxxxxx > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > -- Timothy H. Keitt http://www.keittlab.org/ [[alternative HTML version deleted]]
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: masking z values (extract or subset on a 3-d array), Andy Bunn |
|---|---|
| Next by Date: | Re: masking z values (extract or subset on a 3-d array), Andy Bunn |
| Previous by Thread: | Re: masking z values (extract or subset on a 3-d array), Andy Bunn |
| Next by Thread: | Re: problems loading spproj library for transform(), Mulholland, Tom |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |