eric lee <ericlee100 <at> gmail.com> writes:

> 
> Hello,
> 
> I'm trying to use tapply to find group means in a function.  It works
> outside of a function, but I get the error message from the following code:
> "Error in tapply(index, cluster, mean) : arguments must have same length."
> Any suggestions?  Thanks.
> 
> eric
> 
> d <- data.frame(cbind(cluster=1:2, value1=1:10, value2=11:20))
> d
> 
> FindClusterTraits <- function(framename, index){
>     MeanCluster <- with(framename, tapply(index, cluster, mean))
>     return(MeanCluster)
> }
> 
> d2 <- FindClusterTraits(d, 'value1')
> 

Thanks for the self-running example! Not really a function problem, though.

d <- data.frame(cbind(cluster=1:2, value1=1:10, value2=11:20))
d

FindClusterTraits <- function(framename, index){
  tapply(framename[[index]], framename[["cluster"]], mean)
}

FindClusterTraits(d, 'value1')

Note that the return(MeanCluster) is not required in R.

Dieter

______________________________________________
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