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" <[EMAIL PROTECTED]> To: "R Help" <[EMAIL PROTECTED]> 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 > > ______________________________________________ > [EMAIL PROTECTED] 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 > > ______________________________________________ [EMAIL PROTECTED] 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