[R] Multi part problem...array manipulation and sampling

Bcampbell99 BrianD.Campbell at ec.gc.ca
Thu Apr 5 19:13:15 CEST 2012


Ok, I have a new, multipart problem that I need help figuring out.

Part 1.  I have a three dimensional array (species, sites, repeat counts
within sites).  Sampling effort per site varies so the array should be
ragged.
Maximum number of visits at any site = 22
Number of species = 161
Number of sites = 56

I generated the array first by;

mydata<-tapply(spdata1$NTOTAL,list(spdata1$COUNT,spdata1$SPECIES,spdata1$SITESURVEY),sum)
where spdata1$NTOTAL = number of detections 
spdata1$COUNT = repeat visit per site (max = 22)
spdata1$SITESURVEY = site and survey period (=56)

This gives me an array with dim (22,161,56), which is populated by either a
number (NTOTAL), or an NA.
I then converted the NAs to zeroes;

mydata[is.na(mydata)] <- 0

To get the total number of records per sitesurvey i used;

array.dat1<-array(0,dim=c(22,1,56))
for (i in 1:56){
array.dat1[,,i]<-rowSums(mydata1[,,i],1)
}
array.dat1[which(array.dat1==0)] = NA

SO when array.dat1=0, that represents that there was no survey.
To combine this information with the original matrix i used


new.mydata<-array(0,dim=c(22,162,56))
new.mydata[1:22,1:161,1:56]<-mydata
new.mydata[1:22,162,1:56]<-array.dat1

where [,162,] is the index that represents whether a survey had been
conducted or not...sitesurvey total

OK, here is where I need help;

Step 1)  I need to extract from new.mydata1 the rows where [,162,] !=
NA....this will create a ragged array where the number of counts per
sitesurvey varies

outdata   (dim1 varies from 1,22...ragged, 162,56).

Step 2) from the extracted list, I would like to randomly select n rows (say
for example, 3)

outdata (dim1=2 or 3 counts(samples), dim2=162, dim3=56)

Step 3) I need to sum the values from the columns of dimension 1 from step 2
s

outdata (dim1=1 (column sums), dim2=162, dim3=56)

Not sure how clear I've explained this, but any suggestions would be really
helpful.


Most appreciatively:

Brian Campbell


















--
View this message in context: http://r.789695.n4.nabble.com/Multi-part-problem-array-manipulation-and-sampling-tp4535476p4535476.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list