Patrick;
You got two helpful suggestions for where to start your learning how
to reshape your data. I am going to admit that I have recurring
difficulty using either reshape() or the functions in the reshape
package. It undoubtedly reflects some sort of "constricted abstraction
capability" on my part, but I have learned that sometimes I get what I
need from a combination of rep() and the stack() function. The
strategy is to rep() the recurring variables and stack() the repeated
measures on the same subjects
resp.df <- read.table(textConnection("patient basefev1 fev11h fev12h
fev13h fev14h fev15h fev16h fev17h fev18h drug
201 2.46 2.68 2.76 2.50 2.30 2.14 2.40 2.33
2.20 a
202 3.50 3.95 3.65 2.93 2.53 3.04 3.37 3.14
2.62 a
203 1.96 2.28 2.34 2.29 2.43 2.06 2.18 2.28
2.29 a
204 3.44 4.08 3.87 3.79 3.30 3.80 3.24 2.98
2.91 a"), header=TRUE)
closeAllConnections()
stk.resp <- data.frame(pt.id.=rep(resp.df$patient, 9), FEV1
=stack(resp.df[,2:10]), drug=rep(resp.df$drug, 9))
stk.resp
pt.id. FEV1.values FEV1.ind drug
1 201 2.46 basefev1 a
2 202 3.50 basefev1 a
3 203 1.96 basefev1 a
4 204 3.44 basefev1 a
5 201 2.68 fev11h a
6 202 3.95 fev11h a
7 203 2.28 fev11h a
8 204 4.08 fev11h a
snipped further unneeded output
HTH;
David.
On Aug 27, 2009, at 7:37 PM, Richardson, Patrick wrote:
I have a dataset that I'm trying to rearrange for a repeated
measures analysis:
It looks like:
patient basefev1 fev11h fev12h fev13h fev14h fev15h fev16h fev17h
fev18h drug
201 2.46 2.68 2.76 2.50 2.30 2.14 2.40 2.33
2.20 a
202 3.50 3.95 3.65 2.93 2.53 3.04 3.37 3.14
2.62 a
203 1.96 2.28 2.34 2.29 2.43 2.06 2.18 2.28
2.29 a
204 3.44 4.08 3.87 3.79 3.30 3.80 3.24 2.98
2.91 a
And I want to make it look like:
Patient FEV time drug
201 2.46 0 a
201 2.68 1 a
201 2.76 2 a
201 2.50 3 a
And so on . . . . . There would be 9 "time" and drug is a factor
variable.
I know there is a way to do this in R but I cannot remember the
function. I've looked at the transpose function in (base) but that
doesn't seem to be what I want. Can something like this be done
easily from within package functions or would it require writing
something custom? Another program would use something like the
transpose procedure, but I'm trying to stay away from that program.
Thanks,
Patrick
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
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.