Some hints:The reshape works on the small set of data provided.

The answer looks like this:
> reshape(rl, idvar=c("sil_cf","sil_pi"), timevar="prog", direction="wide")
       sil_pi           sil_cf id_rl.1 sil_dat_avv.1 id_rl.2 sil_dat_avv.2
1 04567XXXXXX NLMDRE64A5XXXXXX     638    2000-08-03      NA          <NA>
2 54872XXXXXX FLGOIP66A3XXXXXX    1033    2000-11-28      NA          <NA>
3 56849XXXXXX QPWOER52E2XXXXXX      NA          <NA>    1043    2000-07-07
4 54982XXXXXX FJKLSD67P4XXXXXX      NA          <NA>    1508    2000-12-12
5 56849XXXXXX QWERTG50T0XXXXXX      NA          <NA>    1532    2000-03-30
6 12345XXXXXX POIQWE74H0XXXXXX    3283    1999-12-31      NA          <NA>

How distinct values do you have in prog? You will end up with about 2+ prog
*2 number of columns. Is this your intention?
Also maybe you wanted to drop the id_rl column:
reshape(rl, idvar=c("sil_cf","sil_pi"), timevar="prog", direction="wide",
drop = "id_rl")
       sil_pi           sil_cf sil_dat_avv.1 sil_dat_avv.2
1 04567XXXXXX NLMDRE64A5XXXXXX    2000-08-03          <NA>
2 54872XXXXXX FLGOIP66A3XXXXXX    2000-11-28          <NA>
3 56849XXXXXX QPWOER52E2XXXXXX          <NA>    2000-07-07
4 54982XXXXXX FJKLSD67P4XXXXXX          <NA>    2000-12-12
5 56849XXXXXX QWERTG50T0XXXXXX          <NA>    2000-03-30
6 12345XXXXXX POIQWE74H0XXXXXX    1999-12-31          <NA>

HTH

Schalk Heunis


On Mon, Sep 14, 2009 at 4:41 PM, Luca Braglia <brag...@poleis.eu> wrote:

> Hello *
>
> I would like to reshape wide the following dataset:
>
>
> > rl <- read.dta("intermedi/rapporti_lavoro.dta")
> [c("id_rl","prog","sil_pi","sil_cf","sil_dat_avv")]
> > dim(rl)
> [1] 12964     5
> > object.size(rl)
> 1194728 bytes
>
> > head(rl)
>  id_rl prog      sil_pi           sil_cf sil_dat_avv
> 1   638    1 04567XXXXXX NLMDRE64A5XXXXXX  2000-08-03
> 2  1033    1 54872XXXXXX FLGOIP66A3XXXXXX  2000-11-28
> 3  1043    2 56849XXXXXX QPWOER52E2XXXXXX  2000-07-07
> 4  1508    2 54982XXXXXX FJKLSD67P4XXXXXX  2000-12-12
> 5  1532    2 56849XXXXXX QWERTG50T0XXXXXX  2000-03-30
> 6  3283    1 12345XXXXXX POIQWE74H0XXXXXX  1999-12-31
>
> Sil_cf and sil_pi are the idvar (sensible data too), prog is the timevar
> (now dataset is not sorted)
>
> > sapply(rl, class)
>      id_rl        prog      sil_pi      sil_cf sil_dat_avv
>  "integer"   "integer" "character" "character"      "Date"
>
> > apply(rl, 2, function(x) sum(duplicated(x)))
>      id_rl        prog      sil_pi      sil_cf sil_dat_avv
>          0       12863        6957        9886       10539
>
> > range(rl$prog)
> [1]   1 101
>
> > table(cut(rl$prog,5))
>
> (0.9,20.9]  (20.9,41]    (41,61]  (61,81.1] (81.1,101]
>     12784         75         42         40         23
>
>
>
>
> So i've scripted
>
> rl.wide  <- reshape(rl, idvar=c("sil_cf","sil_pi"), timevar="prog",
> direction="wide")
>
> but after a biblic time I got something like "Error: evaluation nested too
> deeply: infinite recursion".
>
> Any suggestion to perform that reshape?
>
> Many thanks
>
> Luca
>
> ______________________________________________
> R-help@r-project.org 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.
>

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.

Reply via email to