[R] function in aggregate applied to specific columns only

David Winsemius dwinsemius at comcast.net
Mon Jan 4 04:58:31 CET 2010


On Jan 3, 2010, at 10:46 PM, david hilton shanabrook wrote:

> I want to use aggregate with the mean function on specific columns
>
> gender <- factor(c("m", "m", "f", "f", "m"))
> student <- c(0001, 0002, 0003, 0003, 0001)
> score <- c(50, 60, 70, 65, 60)
> basicSub <- data.frame(student, gender, score)
> basicSubMean <- aggregate(basicSub, by=list(basicSub$student),  
> FUN=mean, na.rm=TRUE)

 > basicSubMean <- aggregate(basicSub$score, by=list(basicSub 
$student), FUN=mean, na.rm=TRUE)
 > basicSubMean
   Group.1    x
1       1 55.0
2       2 60.0
3       3 67.5

>
> This doesn't work, one cannot take the mean of a factor (gender).   
> Is there any way of specifying which columns to use for the mean?  I  
> want to aggregate by student, obtaining mean scores, and assume any  
> other factors are unchanging in a specific student, ie. gender.
>
> Thanks
> 	[[alternative HTML version deleted]]
-- 

David Winsemius, MD
Heritage Laboratories
West Hartford, CT



More information about the R-help mailing list