Here is the basic information about my data, it is a Longitudinal dataset. The variables are: ID, Age, Gender, Q1AnswerTime1, Q2AnswerTime1, Q3AnswerTime1, Q1AnswerTime2, Q2AnswerTime2, Q3AnswerTime2, Q1AnswerTime3, Q2AnswerTime3, Q3AnswerTime3.
Now, how can I transfer this dataset from wide format to longformat? What I want is the long format only contains 7 variables: ID, Age, Gender, Q1Answer, Q2Answer, Q3Answer, and Time. The values of Q1Answer, Q2Answer, and Q3Answer will depend on "Time" variable.
To be clear, for the original study, we have 5 people in this Longitudinal study, the study collected data for 3 years. Every year, each person will be asked 3 questions: Q1, Q2, Q3. So in the end, we have 12 variables in wide format.
Update the code part:
df <- tibble(
ID = c(1, 2, 3),
Age = c(25, 32, 28),
Gender = c("Male", "Female", "Male"),
Q1AnswerTime1 = c(10, 15, 12),
Q2AnswerTime1 = c(7, 9, 8),
Q3AnswerTime1 = c(5, 6, 4),
Q1AnswerTime2 = c(11, 16, 13),
Q2AnswerTime2 = c(8, 10, 9),
Q3AnswerTime2 = c(6, 7, 5),
Q1AnswerTime3 = c(12, 17, 14),
Q2AnswerTime3 = c(9, 11, 10),
Q3AnswerTime3 = c(7, 8, 6)
)
df
And the expected output will be like this:
dfLong <- tibble(
ID = c(1,1,1,2,2,2, 3,3,3),
Age = c(25,25,25,32,32, 32, 28,28,28),
Gender = c("Male","Male","Male", "Female","Female","Female", "Male","Male","Male"),
Q1 = c(10,11,12,15,16,17,12,13,14),
Q2 = c(7,8,9,9,10,11,8,9,10),
Q3 = c(5,6,7,6,7,8,4,5,6),
Time = c(1,2,3,1,2,3,1,2,3)
)
I try to use tidyr function in R but this example is too complex for me, can you guys help me with that?
Thanks! OriginalDataset