Stata——创建重复数据行

Stata -- create rows of repetitive data

我必须在 Stata 中多次创建以下数据(比如 50,000)——一个在另一个下面。需要有两个变量:(1) 一个从 1 到 500 的计数器; (2) 一个字符串变量,前25个观测值是A,第26到500个观测值是B。然后这个过程需要重复50,000次,这样总共有50,000*500行。

到目前为止,我完成此操作的方法是创建一个包含 500 行和 2 个变量的 CSV 文件,然后读取并附加它。这是一种非常缓慢且低效的方法。我怎样才能在 Stata 中做到这一点?

这个问题我还是倾向于认为是题外话。它看起来像一个简单的代码请求。我会回答,希望以后的问题能更清楚地说明编程问题是什么(包括代码)。

一种方法是:

clear
set more off

// change to 500
set obs 15

gen counter = _n

// change numbers
gen strvar = "A" in 1/5
replace strvar = "B" in 6/15

// change to 50,000
expand 3

bysort counter : gen seq = _n
sort seq counter

// list
list, sep(15)

这是一个示例,因此您需要调整数字。关键命令是 expand.