stata - 将所有 .dta 文件合并到一个文件夹中?
问题描述
我有一个包含 36 个 .dta 文件的文件夹,这些文件的结构都相同。每个都有 2 个字段:RowID 和 value。每个文件也有相同的行数 (2,500)。“值”变量的名称对于每个文件都是唯一的。我想构建一个循环,加载第一个 .dta 文件,然后合并其他 35 个文件中的每个文件的“值”变量。任何帮助将不胜感激。
以下是来自 3 个 .dta 文件的示例数据:
Example 1:
input int rowid_ float value_ex_1
1 0
2 0
3 0
4 1
5 1
6 1
7 1
8 1
9 1
10 1
Example 2:
input int rowid_ float value_ex_2
1 1
2 0
3 0
4 1
5 1
6 0
7 0
8 0
9 0
10 0
Example 3:
input int rowid_ float value_ex_3
1 0
2 0
3 0
4 0
5 0
6 1
7 1
8 0
9 0
10 1
解决方案
为了遍历所有的.dta files
,首先确保它们以逻辑顺序命名(即 example_1.dta、example_2.dta、example_3.dta 等)。
然后,您可以加载第一个数据集并循环遍历其他数据集forvalues
:
cd "path/to/your/datasets"
use example_1.dta, clear
forvalues i = 2(1)35 {
merge 1:1 rowid_ using example_`i'.dta
drop _merge
}
推荐阅读
- sql - How to rank salesman changing in the time on a contract
- c++ - 如何在 UDX 函数 agg_concatenate 中增加结果字符串的最大长度
- node.js - Install node CLI tool written in TypeScript
- c# - How to use Openstreetmap(osm) offline tiles file in .net core?
- powershell - 否定必须在 PowerShell 脚本上按 Enter 两次
- amazon-web-services - AWS S3 NoSuchKey when trying to open subfolder
- angular - 角度命名的路由器插座不显示组件
- sql - How to fix " Aggregate functions (COUNT, AVG, SUM, MIN, MAX) are not allowed outside SELECT or HAVING clauses" Error in HFSQL
- python - 将边界框提取为 .jpg
- git - 带有 ssh 的 git clone 在 Fedora 29 中无限期挂起