现在存在以下问题:使用stata合并数据
两个数据集分别是上市公司的季度数据和日度数据,所要达到的目的是将季度数据发布时间的前后两天的日度数据相关指标与本来的季度数据合并到一张表上,要求不适用merge m:m方法。
现在代码编写为:
sort id year
joinby id year using "daily_stock.dta"
keep if date==(date >= datadate[_n-2] & datadate <= date[_n+2])
其中date是日度数据日期,datadate是季度数据日期,合并之后的结果是空集
stata合并季度数据和日度数据
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
18条回答 默认 最新
关注获得0.45元问题酬金 引自强大而免费的微信小程序:皆我百晓生。
问题可能在于你的条件判断语句中使用了逻辑运算符错误。datadate[_n-2] & datadate <= date[_n+2]应该改为datadate[_n-2] <= date & date <= datadate[_n+2]。以下是修正后的代码:
sort id year joinby id year using "daily_stock.dta" keep if (datadate[_n-2] <= date) & (date <= datadate[_n+2])这样,代码会首先按照id和year进行排序,然后使用joinby命令将两个数据集按照id和year进行合并。最后,使用keep命令筛选出datadate前后两天的日度数据。
请确保"daily_stock.dta"文件已经正确导入,并且其中包含了正确的变量名。如果仍然无法得到正确结果,请提供更多细节或数据示例,以便我们更好地帮助你解决问题。
评论 打赏 举报 编辑记录解决 1无用