Thanks for the code, that was exactly what I was looking for. Regards,
Sören
On 30.04.2010, at 14:04, David Winsemius wrote:
On Apr 30, 2010, at 6:59 AM, Mohamed Lajnef wrote:
Hi Soeren
Apply or aggregate functions
Probably needs combn as well. Could do it all with numeric indices,
but this effort with character vectors seems acceptable:
fun <- function(x){ cnms <- colnames(x)
return(apply(combn(cnms,2), 2, function(y) sum(x[,y])))
}
fun(df)
#[1] 210 310 410
I do have a question about "returning a matrix" though. Did you mena
that you wanted the pairs of sums rather than the sums of pairs. In
that case:
fun2 <- function(x){cnms <- colnames(x)
return(apply(combn(cnms,2), c(1,2), function(y) sum(x[,y])))
}
fun2(df)
# [,1] [,2] [,3]
#[1,] 55 55 155
#[2,] 155 255 255
--
David.
best regards
M
soeren.vo...@eawag.ch a écrit :
Hello, a data.frame, df, holds the numerics, x, y, and z. A
function, fun, should return some arbitrary statistics about the
arguments, e.g. the sum or anything else. What I want to do is to
apply this function to every pair of variables in df, and the
return should be a matrix as found with cov. How can I achieve
that? Thanks, Sören
df <- data.frame(x=1:10, y=11:20, z=21:30);
fun <- function(x){
return(sum(x));
}
# and now???
--
Mohamed Lajnef,IE INSERM U955 eq 15
Pôle de Psychiatrie
Hôpital CHENEVIER
40, rue Mesly
94010 CRETEIL Cedex FRANCE
mohamed.laj...@inserm.fr
tel : 01 49 81 31 31 (poste 18470)
Sec : 01 49 81 32 90
fax : 01 49 81 30 99
David Winsemius, MD
West Hartford, CT
--
Sören Vogel, Dipl.-Psych. (Univ.), PhD-Student, Eawag, Dept. SIAM
http://www.eawag.ch, http://sozmod.eawag.ch
______________________________________________
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.