resample <- function(d=data)
{
    Trees <- split(1:nrow(d), TreeID)
    Trees[[1]] # first data point

    a <- rep(NA,length(Trees))

    for(i in 1:length(Trees))
    {
    	a[i] <- Trees[[i]][1]
    	if(length(Trees[[i]]) > 1) 
    	{
	    a[i] <- sample(Trees[[i]], 1, replace=FALSE)
    	}
    }
    d[a,]
}

