There might be simpler ways, but you can certainly do this with the reshape package, like this:
library(reshape) dta <- read.table("clipboard",header=TRUE) sic level area 1 a 211 2.4 2 b 311 2.3 3 b 322 0.2 4 b 322 0.5 5 c 100 3.0 6 c 100 1.5 7 c 242 1.5 8 d 222 0.2 > mlt.dta <- melt(dta) cst.dta <- cast(mlt.dta,sic~level,sum) sic 100 211 222 242 311 322 1 a NA 2.4 NA NA NA NA 2 b NA NA NA NA 2.3 0.7 3 c 4.5 NA NA 1.5 NA NA 4 d NA NA 0.2 NA NA NA Then just replace the NAs with 0s. HTH. David Barron On 9/4/07, Giulia Bennati <[EMAIL PROTECTED]> wrote: > Dear listmembers, > I have a little question: I have my data organized as follow > > sic level area > a 211 2.4 > b 311 2.3 > b 322 0.2 > b 322 0.5 > c 100 3.0 > c 100 1.5 > c 242 1.5 > d 222 0.2 > > where levels and sics are factors. I'm trying to obtain a matrix like this: > > level > 211 311 322 100 242 222 > sic > a 2.4 0 0 0 0 0 > b 0 2.3 0.7 0 0 0 > c 0 0 0 4.5 1.5 0 > d 0 0 0 0 0 0.2 > > I tryed with table function as > table(sic,level) but i obteined only a contingency table. > Have you any suggestions? > Thank you very much, > Giulia > > ______________________________________________ > R-help@stat.math.ethz.ch 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. > -- ================================= David Barron Said Business School University of Oxford Park End Street Oxford OX1 1HP ______________________________________________ R-help@stat.math.ethz.ch 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.