Good Day All !
I have a 2-D vector of mode numeric and a parallel 1-D vector of mode numeric. Here are my values.
2-D vector 1-D vector
80 75 85 80 80
70 80 90 80 80 60 70 80 70 70
85 75 95 85 85
70 60 90 60 70
My 1-D vector is the average across the rows of my 2-D vector.
I process each column of the 2-D vector in a loop.
When I trim my 2-D vector column for values less than 65, I have to trim the corrosponding average value.
I have a copy of the 1-D vector to recreate the original 1-D vector for each loop iteration.
My original vectors consist of 54,000 values and I am trying to avoid using loops as much as I can to gain speed.
Any advice will be greatly appreciated.
Thanks in advance.
Choudary Jagarlamudi
Instructor
Southwestern Oklahoma State University
STF 254
100 campus Drive
Weatherford OK 73096
Tel 580-774-7136
I'm not sure if this is what you had in mind but the rowMeans function produces the row-wise means of a matrix. If you replace some of the values in the matrix by the missing value code NA then the means for those rows also end up as NA.
> mat
[,1] [,2] [,3] [,4]
[1,] 80 75 85 80
[2,] 70 80 90 80
[3,] 60 70 80 70
[4,] 85 75 95 85
[5,] 70 60 90 60
> rowMeans(mat)
[1] 80 80 70 85 70
> mat[mat < 65] <- NA
> mat
[,1] [,2] [,3] [,4]
[1,] 80 75 85 80
[2,] 70 80 90 80
[3,] NA 70 80 70
[4,] 85 75 95 85
[5,] 70 NA 90 NA
> rowMeans(mat)
[1] 80 80 NA 85 NA______________________________________________ [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
