[R] Matrix manipulation
Giovanni Petris
GPetris at uark.edu
Wed Feb 14 00:16:52 CET 2007
> Hi, let's say I have this
>
> A = matrix(c(1, 2, 4), nrow=1)
> colnames(A)=c("YOO1", "YOO2", "YOO3")
Why do you need A to be a matrix and not simply a vector?
>
> # ie
> # YOO1 YOO2 YOO3
> #[1,] 1 2 4
>
> HELLO <- NULL
> HELLO$YOO1="BOO"
> HELLO$YOO2="BOO"
> HELLO$YOO3="HOO"
>
Why do you need HELLO to be a list and not simply a character vector?
> and I want a matrix that will sum my categorization.. how can I do it
> efficiently without any loop?
>
> #ie BOO HOO
> #[1,] 3 4
>
Anyway, here is a solution:
x <- tapply(A, match(unlist(HELLO), unique(unlist(HELLO))), sum)
names(x) <- unique(unlist(HELLO))
x
HTH,
Giovanni
--
Giovanni Petris <GPetris at uark.edu>
Associate Professor
Department of Mathematical Sciences
University of Arkansas - Fayetteville, AR 72701
Ph: (479) 575-6324, 575-8630 (fax)
http://definetti.uark.edu/~gpetris/
More information about the R-help
mailing list