> I have a vector: > > q1<-c(4660,5621,5629,8030,8080,8180,8501,8190,8370,8200) > > The following command gives me the mean of its elements: > > mean(q1) > [1] 7346.1 > > What can I do to do the same for the variable 'height', but only for the
> cases/rows which have one of the elements of q1 as 'number': > > number height > 1 4660 2.5 > 2 5010 1.4 > 3 5621 0.8 > 4 5629 2.3 > 5 8030 2.5 > 6 8080 2.4 > 7 8090 0.9 > 8 8180 1.4 > 9 8501 1.2 > 10 8190 1.9 > 11 8200 2.0 > 12 8370 2.1 > 13 8200 1.8 This will do the trick: mean(df$height[df$number %in% q1]) Or, if you want the mean of those elements which aren't in q1 as well, try: tapply(df$height, df$number %in% q1, mean) (Both assume that you've named the data frame 'df'.) Regards, Richie. Mathematical Sciences Unit HSL ------------------------------------------------------------------------ ATTENTION: This message contains privileged and confidential inform...{{dropped:20}} ______________________________________________ R-help@r-project.org mailing list 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.