Hello everyone,

I am using v.15.1 SE.

I need help restructuring my data to be truly long; because it is quasi-wide/long, the reshape long command , as well as others, will not work. I imagine *multiple* steps will be needed to accomplish this...

The current data structure is as follows:
Person Days Var1 Var2 Var3
1.00 1.00 2.00 3.00 6.00
1.00 2.00 3.00 3.00 4.00
1.00 3.00 4.00 2.00 5.00
1.00 4.00 1.00 3.00 4.00
2.00 1.00 3.00 4.00 4.00
2.00 2.00 5.00 7.00 7.00
2.00 3.00 4.00 6.00 7.00
2.00 4.00 5.00 9.00 7.00

I would like to get it to be as follows:
Person Days Var Response
1.00 1.00 1 2.00
1.00 1.00 2 3.00
1.00 1.00 3 6.00
1.00 2.00 1 3.00
1.00 2.00 2 3.00
1.00 2.00 3 4.00
1.00 3.00 1 4.00
1.00 3.00 2 2.00
1.00 3.00 3 5.00
1.00 4.00 1 1.00
1.00 4.00 2 3.00
1.00 4.00 3 4.00
2.00 1.00 1 3.00
2.00 1.00 2 4.00
2.00 1.00 3 4.00
2.00 2.00 1 5.00
2.00 2.00 2 7.00
2.00 2.00 3 7.00
2.00 3.00 1 4.00
2.00 3.00 2 6.00
2.00 3.00 3 7.00
2.00 4.00 1 5.00
2.00 4.00 2 9.00
2.00 4.00 3 7.00

I don't see a way to do this using stack or reshape, as I mentioned above. I would like to use foreach along with forvalues, but am having difficulty getting these looping commands to do what I need.
The challenge is with the Days and Var* variables. Restructuring them the way I want would require 4 (days) X 3 (variables) = 12 rows per person.

There's is a way to do this using another software program, but I would like to automate everything, elegantly, and do it all in Stata.

Thanks in advance,
Saul