Hello, I try to calculate the mean of an array with a condition. My array is B=c(181,101,420) in dimensions. And I want to find a specific member in 3rd dimension (time monthly) based on a condition of another data frame, A =c(420). My final array would be C=c(181,101,12) which 12 is a monthly mean based on the condition of A.
what I tried is below but doesn't work. #find the index with a condition larger than 0.5 index<-which(A>=0.5) #convert the index to monthly index1<-index%%12 #change 0 to 12 (Jan=1, Feb=2, and so on..) index1[index1==0]<-12 for (i in 1:12){ dummy<-index[which(index1==i)] C[,,i]<-apply(B[,,dummy],c(1,2), mean,na.rm=T) } The problem is when there is a month that doesnt meet the condition, it will return 0 element. apply(B[,,1],c(1,2), mean,na.rm=T) also produce an error. Any solution and turnaround would be appreciated. Thank you Ani Jaya ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.