[R] Apply a function to each cell of a ragged matrix

Mahmoud K. Okasha m.okasha at palnet.com
Wed Feb 18 01:46:06 CET 2004


Hi,
you could simply use functions such as:

time <- dim (3)
for ( i in 1:3) time [i] <- x[i,1]+x[i,2]

the result of time will be the sum of rows.

best regards..

----- Original Message -----
From: "XIAO LIU" <xiaoliu at jhmi.edu>
To: "R Help" <r-help at stat.math.ethz.ch>
Sent: Wednesday, February 18, 2004 12:38 AM
Subject: [R] Apply a function to each cell of a ragged matrix


> R-Helpers:
>
> There are a matrix x and a factor f.  nrow(x) == length(f), e.g.:
> x <- matrix(1:6, nrow = 3)
> f <- factor(c("daytime", "daytime", "night"))
>
> I want the sum of all elements of rows of "x" for each corresponding level
in factor "f",
> In this case, I want output like:
> "daytime" [1] x[1,1]+x[2,1]+x[1,2]+x[2,2]
> "night"   [2] x[3,1]+x[3,2]
>
> But, tapply(x,f,sum) or by(x,f,sum) do not work.  What other functions can
I use?
>
> Thank you very much
>
> Xiao
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
>
>




More information about the R-help mailing list