# functions and multiple levels

4 messages
Open this post in threaded view
|

## functions and multiple levels

 Hi, I am trying to write a function; I want to subtract the mean of each class in level 2 from the mean of each class in level 1 and square the answer, eg.....    level.1      level.2      observation       1             1                 0.5       1             1                 0.2       1             2                 0.6       1             2                 0.4       2             3                 0.8       2             3                 0.7       2             4                 0.6       2             4                 0.4 (mean(1\$level.1) - mean(1\$level.2))^2 (mean(1\$level.1) - mean(2\$level.2))^2 etc..... I want to write a function because I have lots of levels and lots of different observations. I thought this should be easy (it's my first attempt at writing a function) but I just can't work it out! Thanks Chris
Open this post in threaded view
|

## Re: functions and multiple levels

 Hi Chris, Try ?ave will help you. Anyway, I guess you are computing a statistic. strs <- "   level.1      level.2      observation       1             1                 0.5       1             1                 0.2       1             2                 0.6       1             2                 0.4       2             3                 0.8       2             3                 0.7       2             4                 0.6       2             4                 0.4 " df <- read.table(textConnection(strs),header=T) df\$mean1 <- ave(df\$observation, df\$level.1, FUN = function(x) mean(x)) df\$mean2 <- ave(df\$observation, df\$level.2, FUN = function(x) mean(x)) df.mean <- merge(unique(df[,c(1,4)]),unique(df[,c(2,5)]),by.x = "level.1", by.y = "level.2") df.mean\$square <- (df.mean\$mean1 - df.mean\$mean2)^2 Regards, Wu