On 30/04/2010 7:55 AM, soeren.vo...@eawag.ch wrote:
Hi Mohamed, thanks for your answer. Anyway, the "how to" is exactly my
problem, since ...
fun2 <- function(x){
please_use_aggregate_and_apply_in_some_way_and_return_the_output_of_my_example_as_requested
(fun(x));
}
fun2(df);
... unfortunately returns an error ;-). Could you please give a simple
example? Thanks, Sören
I would have recommended a nested for loop, but here it is with apply:
> df <- data.frame(a=1:10, b=11:20, c=21:30)
> f <- function(x,y) sum(x*y)
> apply(df, 2, function(x) apply(df, 2, function(y) f(x,y)))
a b c
a 385 935 1485
b 935 2485 4035
c 1485 4035 6585
To me this looks clearer:
result <- matrix(NA, 3,3)
for (i in 1:3)
for (j in 1:3)
result[i,j] <- f(df[,i], df[,j])
Duncan Murdoch
On 30.04.2010, at 12:59, Mohamed Lajnef wrote:
Hi Soeren
Apply or aggregate functions
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???
______________________________________________
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.