我必须在Stata中多次创建以下数据(比如50,000) - 一个在另一个之下。需要有两个变量:(1)计数器从1到500; (2)一个字符串变量,对于前25个观测值为A,然后是观测值26到500的B.然后,此过程需要重复50,000次,以便总共有50,000 * 500行。
到目前为止,我这样做的方法是创建一个包含500行和2个变量的CSV文件,然后阅读并附加它。这是一种非常缓慢且低效的方式。我怎样才能在Stata中做到这一点?
答案 0 :(得分:2)
我仍然倾向于考虑这个问题。它看起来像一个简单的代码请求。我将回答希望未来的问题更清楚地说明编程问题是什么(包括代码)。
一种方法是:
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
。