在Stata中重塑数据
我有一个由研究组成的数据集。在一些研究中有多个数据点(DP)。我的数据是结构化的,因此每一行都是一个单独的数据点。此外,我还有一个单独的变量表示具体的研究文章 我需要从与研究(而非DPs)相关的数据中获得汇总统计数据。换句话说,我需要让每一行都成为研究性学习,DPs成为计数 我使用在Stata中重塑数据,stata,data-management,Stata,Data Management,我有一个由研究组成的数据集。在一些研究中有多个数据点(DP)。我的数据是结构化的,因此每一行都是一个单独的数据点。此外,我还有一个单独的变量表示具体的研究文章 我需要从与研究(而非DPs)相关的数据中获得汇总统计数据。换句话说,我需要让每一行都成为研究性学习,DPs成为计数 我使用合同尝试了下面的代码。它适用于list命令。但是,我需要汇总统计数据,并且我希望获得多个变量的汇总,并在数据组织好后将它们合并到一个表中 contract study nation drop _freq study c
合同
尝试了下面的代码。它适用于list
命令。但是,我需要汇总统计数据,并且我希望获得多个变量的汇总,并在数据组织好后将它们合并到一个表中
contract study nation
drop _freq study
contract nation
list
例如:
原始数据:
学习
数据处理
年
国家
1.
1.
2005
巴西
1.
2.
2005
巴西
1.
3.
2005
巴西
1.
4.
2005
法国
2.
5.
2006
巴西
2.
6.
2006
意大利
3.
7.
2010
巴西
3.
8.
2010
加拿大
4.
9
2011
加拿大
5.
10
2015
巴西
6.
11
2015
加拿大
egen
将有助于汇总统计数据和图表。它的tag()
功能只允许您对每个国家标记一次
请注意,Stata中的dataex
是给出代码示例的更好方法,如Statalist FAQ和Stata标签中所述
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte(Study DP) int Year str6 Nation
1 1 2005 "Brazil"
1 2 2005 "Brazil"
1 3 2005 "Brazil"
1 4 2005 "France"
2 5 2006 "Brazil"
2 6 2006 "Italy"
3 7 2010 "Brazil"
3 8 2010 "Canada"
4 9 2011 "Canada"
5 10 2015 "Brazil"
6 11 2015 "Canada"
end
egen tag = tag(Nation)
egen count = count(DP) , by(Nation)
histogram count if tag, discrete freq width(1) xla(1/6)