[R] lapply and aggregate function
Patrick Hausmann
Patrick.Hausmann at uni-bremen.de
Tue Feb 3 16:11:57 CET 2009
Dear list,
I have two things I am struggling...
# First
set.seed(123)
myD <- data.frame( Light = sample(LETTERS[1:2], 10, replace=T),
Feed = sample(letters[1:5], 20, replace=T),
value=rnorm(20) )
# Mean for Light
myD$meanLight <- unlist( lapply( myD$Light,
function(x) mean( myD$value[myD$Light == x]) ) )
# Mean for Feed
myD$meanFeed <- unlist( lapply( myD$Feed,
function(x) mean( myD$value[myD$Feed == x]) ) )
myD
# I would like to get a new Var "meanLightFeed"
# holding the "Group-Mean" for each combination (eg. A:a = 0.821581)
# by(myD$value, list(myD$Light, myD$Feed), mean)[[1]]
# Second
set.seed(321)
myD <- data.frame( Light = sample(LETTERS[1:2], 10, replace=T),
value=rnorm(20) )
w1 <- tapply(myD$value, myD$Light, mean)
w1
# > w1
# A B
# 0.4753412 -0.2108387
myfun <- function(x) (myD$value > w1[x] & myD$value < w1[x] * 1.5)
I would like to have a TRUE/FALSE-Variable depend on the constraint in
"myfun" for each level in "Light"...
As always - thanks for any help!!
Patrick
More information about the R-help
mailing list