如何在 Stata 中将长数据重塑为宽数据?
How to reshape long to wide data in Stata?
我有以下数据:
id tests testvalue
1 A 4
1 B 5
1 C 3
1 D 3
2 A 3
2 B 3
3 C 3
3 D 4
4 A 3
4 B 5
4 A 1
4 B 3
我想把上面的长数据格式改成下面的宽数据格式
id testA testB testC testD index
1 4 5 3 3 1
2 3 3 . . 2
3 . . 3 4 3
4 3 5 . . 4
4 1 3 . . 5
我正在努力
reshape wide testvalue, i(id) j(tests)
它给出错误,因为 tests
.
中没有唯一值
这个问题的解决方案是什么?
您需要创建一个额外的标识符来区分复制品。
clear
input id str1 tests testvalue
1 A 4
1 B 5
1 C 3
1 D 3
2 A 3
2 B 3
3 C 3
3 D 4
4 A 3
4 B 5
4 A 1
4 B 3
end
bysort id tests: gen replicate = _n
reshape wide testvalue, i(id replicate) j(tests) string
另请参阅 here 以获取文档。
我有以下数据:
id tests testvalue
1 A 4
1 B 5
1 C 3
1 D 3
2 A 3
2 B 3
3 C 3
3 D 4
4 A 3
4 B 5
4 A 1
4 B 3
我想把上面的长数据格式改成下面的宽数据格式
id testA testB testC testD index
1 4 5 3 3 1
2 3 3 . . 2
3 . . 3 4 3
4 3 5 . . 4
4 1 3 . . 5
我正在努力
reshape wide testvalue, i(id) j(tests)
它给出错误,因为 tests
.
这个问题的解决方案是什么?
您需要创建一个额外的标识符来区分复制品。
clear
input id str1 tests testvalue
1 A 4
1 B 5
1 C 3
1 D 3
2 A 3
2 B 3
3 C 3
3 D 4
4 A 3
4 B 5
4 A 1
4 B 3
end
bysort id tests: gen replicate = _n
reshape wide testvalue, i(id replicate) j(tests) string
另请参阅 here 以获取文档。