Hello,

Try

myfun2 <- function(DF, FUN){
        x <- lapply(as.data.frame(t(DF[-1])), function(x) FUN(x[1], x[2]))
        names(x) <- levels(DF[[1]])[ DF[[1]] ]
        x
}

myfun2(myframe, myfun)

Hope this helps,

Rui Barradas

Em 02-07-2012 07:02, Onur Uncu escreveu:
Hi All

I have a dataframe:

myframe<-data.frame(ID=c("first","second"),x=c(1,2),y=c(3,4))

And I have a function myfun:

myfun<-function(x,y) x+y

I would like to write a function myfun2 that takes myframe and myfun
as parameters and returns a list as below:

mylist
$first
[1] 4

$second
[2] 6

Could you please help me with this? Doesn't seem like the "apply"
family of functions were intended for this case.

______________________________________________
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.


______________________________________________
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