It's in the documentation for reshape - make the varying argument a
list. Here is an example:
famf.uni <- reshape(famf,
varying = list(c("DUSI2BL", "DUSI3M",
"DUSI6M", "DUSI1Y" ),
c("DNKTOTBL", "DNKTOT3M",
"DNKTOT6M", "DNKTOT1Y" ),
c("DAYDNKBL", "DAYDNK3M",
"DAYDNK6M", "DAYDNK1Y" ),
c("HVYALCBL", "HVYALC3M",
"HVYALC6M", "HVYALC1Y" ),
c("BALCSV15", "DALCSV15",
"EALCSV15", "FALCSV15" ),
c("BALCSV27", "DALCSV27",
"EALCSV27", "FALCSV27" ),
c("PCSBLT", "PCS3MT",
"PCS6MT", "PCS1YT" ),
c("MCSBLT", "MCS3MT",
"MCS6MT", "MCS1YT" ),
c("BSIANXBL", "BSIANX3M",
"BSIANX6M", "BSIANX1Y" ),
c("BSIPSYBL", "BSIPSY3M",
"BSIPSY6M", "BSIPSY1Y" ),
c("CESDBL", "CESD3M",
"CESD6M", "CESD1Y" )),
v.names = c("DUSI", "DNKTOT", "DAYDNK",
"HVYALC", "ALCSV15", "ALCSV27",
"PCST",
"MCST", "BSIANX", "BSIPSY",
"CESD"),
timevar = "TIME", times = c("BL", "3M",
"6M", "1Y"), direction = "long")
hope this helps,
Chuck Cleland
Jean Eid wrote:> I am using the NLSY79 data (longitudinal data from the Bureau of labour
> stats in the US). The extractor exctracts this data in a "wide"
format and
> I need to reshape it into a long format.
>
> What I am doing right now is to do it in chuncks for each and evry
> variable that is varying and then I merge the data together. This is
> taking a long time. my question is:
>
> How do I specify that there are multiple variables that are varying in
> reshape. Is there a way to do this?
>
> The idea is to have something like varying1, varying2,etc,... and each are
> assosiated with their own times1, times2.
>
> something like
> reshape(mydata, direction="long",
varying1=varying1,varying2=varying2,
> varying3=varying3, split=list(regexp="[a-z][0-9]", include=TRUE),
> idvar="ID", times1=times1, times2=times2, times3=times3)
--
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 452-1424 (M, W, F)
fax: (917) 438-0894