[R] Table and ftable

David Barron mothsailor at googlemail.com
Tue Sep 4 11:17:50 CEST 2007


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 <bennati at gmail.com> 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 at 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



More information about the R-help mailing list