Stata 将列的值设置为特定的数字列表

Stata 将列的值设置为特定的数字列表,stata,Stata,我想创建一个带有一些特定值的小测试数据集: x - 1 3 4 5 7 我可以用艰难的方式做到这一点: . set obs 5 . generate x = . . replace x = 1 in 1 . replace x = 3 in 2 . replace x = 4 in 3 . replace x = 5 in 4 . replace x = 7 in 5 我也可以使用数据编辑器,但我想创建一个.do文件,该文件可以重新创建此数据集 那么,如何从数字列表中设置变量的值呢?这可以使

我想创建一个带有一些特定值的小测试数据集:

x
-
1
3
4
5
7
我可以用艰难的方式做到这一点:

. set obs 5
. generate x = .
. replace x = 1 in 1
. replace x = 3 in 2
. replace x = 4 in 3
. replace x = 5 in 4
. replace x = 7 in 5
我也可以使用数据编辑器,但我想创建一个
.do
文件,该文件可以重新创建此数据集

那么,如何从数字列表中设置变量的值呢?

这可以使用
输入
的一个文档记录不完整的功能来实现:

clear
input x
    1
    3
    4
    5
    7
end
我说文档记录不好是因为
输入
帮助页面的标题是

[D] 输入——从键盘输入数据

这显然只是这个命令的一个子集。

这里是另一种方法

clear 
mat x = (1,3,4,5,7) 
set obs `=colsof(x)' 
generate x = x[1, _n] 
还有一个

clear 
mata : x = (1,3,4,5,7)'
getmata x=x

这通常是最好的方法,只要您可以从某个源中复制和粘贴观测值,其中的观测值已经在单独的行中。相关点由
dataex
(使用
ssc安装dataex
安装)显示,它获取数据样本并发出
输入
代码,让其他人读取样本。因此,它定义了值标签、日期格式等,并明确了什么是字符串,什么是数字。