原始数据。我的数据集文件有 ~281.000 列,我需要将其传输到 Stata 并重塑。根据作为对我以前帖子的回复发布的关于 SO 的建议,我正在尝试使用 insheet 命令,拆分和重塑数据块并附加它们。我的代码的当前“玩具”版本如下所示:
insheet using "D:\Trial_Import\products_4_3_2.dat", comma clear
// extract vars
tempfile orig 1 2 3
save `orig'
keep simulation v2-v12
save `1'
use `orig'
keep simulation v13-v22
save `2'
use `orig'
keep simulation v23-v33
save `3'
// reshape
use `1'
reshape long v, i(simulation) j(_count)
save `1', replace
use `2'
reshape long v, i(simulation) j(_count)
save `2', replace
use `3'
reshape long v, i(simulation) j(_count)
save `3', replace
append using `1'
代码有两个问题:
1) 它只附加第一个和第三个数据子集,而忽略第二个。对此有何解释?我怀疑它可能与在导入原始数据时使用insheet
vs.use
有关,但我无法弄清楚修复它的方法。
2)由于真实的数据集包含 281,000 个变量,我想知道是否有办法使这个过程自动化(即创建一个循环以保持和重塑每个 10000 个变量,然后是下一个 10000 个等……)有谁知道在Stata中可行吗?