[R] new standardised variable based on group membership

ONKELINX, Thierry Thierry.ONKELINX at inbo.be
Mon Oct 3 09:35:35 CEST 2011


Dear John,

You need to combine scale with a grouping function.

data(Orange)
library(plyr)
Orange <- ddply(Orange, .(Tree), function(x){
	x$ddplyAge <- scale(x$age)[, 1]
	x
})

Orange$aveAge <- ave(Orange$age, by = Orange$Tree, FUN = scale)

all.equal(Orange$ddplyAge, Orange$aveAge)

Best regards,

Thierry


> -----Oorspronkelijk bericht-----
> Van: r-help-bounces op r-project.org [mailto:r-help-bounces op r-project.org]
> Namens John.Morrongiello op csiro.au
> Verzonden: maandag 3 oktober 2011 7:34
> Aan: r-help op r-project.org
> Onderwerp: [R] new standardised variable based on group membership
> 
> Hi
> I have a data comprised of repeated measures of growth (5-15 records per
> individual) for 580 fish (similar to Orange dataset from nlme library). I would like
> to standardise these growth measures (yi – ŷ/sd) using mean and standard
> deviation unique to each fish. Can someone suggest a function that would help
> me do this? I’ve had a look at scale and sweep but can’t find a worked example
> that does what I’m after
> 
> Cheers
> 
> John
> 
> 
> 	[[alternative HTML version deleted]]



More information about the R-help mailing list