Stata 是否将所有.dta文件合并到一个文件夹中?

Stata 是否将所有.dta文件合并到一个文件夹中?,stata,Stata,我有一个包含36.dta文件的文件夹,这些文件的结构都相同。每个字段有2个字段:RowID和value。每个文件也有相同的行数(2500)。“value”变量的名称对于每个文件都是唯一的。我想构造一个循环,加载第一个.dta文件,然后合并其他35个文件中的“value”变量。任何帮助都将不胜感激 以下是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

我有一个包含36.dta文件的文件夹,这些文件的结构都相同。每个字段有2个字段:RowID和value。每个文件也有相同的行数(2500)。“value”变量的名称对于每个文件都是唯一的。我想构造一个循环,加载第一个.dta文件,然后合并其他35个文件中的“value”变量。任何帮助都将不胜感激

以下是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文件
,首先确保它们是按照逻辑顺序命名的(例如,example_1.dta、example_2.dta、example_3.dta等)

然后,您可以加载第一个数据集,并使用
forvalues
loop循环其他数据集:

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
}

为了循环遍历所有
.dta文件
,首先确保它们是按照逻辑顺序命名的(例如,example_1.dta、example_2.dta、example_3.dta等)

然后,您可以加载第一个数据集,并使用
forvalues
loop循环其他数据集:

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
}

你能举个简单的例子吗?可能使用ssc的dataex从三个文件中创建小摘录。那么解决方案就简单了。您似乎还混淆了追加和合并。Append向数据集添加更多观察值(行),merge向观察值添加变量(列)。如果原始数据集中不存在新观测值,“合并”将创建新观测值。那么,您是想将35个变量添加到原始数据集中的观测值中,还是所有35个数据集都有具有新ID的新观测值?我在上面的原始帖子中添加了三个.dta文件中的示例数据。澄清一下,你是对的,我想合并而不是附加数据集。这有帮助吗?:来自8。他们开始合并文件。你能提供一个简单的例子吗?可能使用ssc的dataex从三个文件中创建小摘录。那么解决方案就简单了。您似乎还混淆了追加和合并。Append向数据集添加更多观察值(行),merge向观察值添加变量(列)。如果原始数据集中不存在新观测值,“合并”将创建新观测值。那么,您是想将35个变量添加到原始数据集中的观测值中,还是所有35个数据集都有具有新ID的新观测值?我在上面的原始帖子中添加了三个.dta文件中的示例数据。澄清一下,你是对的,我想合并而不是附加数据集。这有帮助吗?:来自8。他们开始合并文件。