问题描述
- 原始数据类型如下图所示,下图显示2008年上海的RDSpendSum有多个数值,接下来需要用bysort函数将这个变量在各个城市的年份层面汇总。
- 于是直接使用如下命令,但是结果显示并没有实现上述目标,呈现的结果和上图一样。
bysort CITY 年度:egen RD = sum(RDSpendSum)
解决办法
- 使用bysort函数前需要先对求和变量解码,将其变成数值,另外如果分组变量是数值,也需要使用destring命令解码。
destring RDSpendSum 年度,replace
bysort CITY 年度:egen RD = sum(RDSpendSum)
- 使用上述命令得到的结果是具有重复值的数据,如下图所示,所以还需要使用去重的命令。
- 首先
keep 城市 年度 RD
选择所需变量,再使用duplicates drop 城市 年度 RD,force
命令即可。