> 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.

Reply via email to