我有很多变量,其名称以I:
开头,后跟数字 n (如I:2390
)。这些是指标变量,观察值 n 的值为1。我从其他软件(Oxmetrics)导入了这个数据库,因此它们不是在Stata中创建的。根据Stata手册,变量名只允许使用字母,数字和_
。因此,Stata不允许在名称中使用字符:
。因此,我无法对它们进行回归(输出为I ambiguous abbreviation r(111);
)。
我试图将它们全部重命名,但到目前为止没有任何作用,可能是因为名称无效。例如,我试过:
rename I:2390 OUT2390
rename I# OUT#
replace I:2390 = subinstr(I:2390, "I:", "OUT", .)
输出与以前相同:I ambiguous abbreviation r(111);
以下是describe
的输出,与有问题的特定变量相关:
I:7 double
I:32 double
I:41 double
I:77 double
I:173 double
I:221 double
I:264 double
I:297 double
I:977 double
I:980 double
I:1026 double
I:1232 double
I:1282 double
I:1288 double
I:1347 double
I:1429 double
I:1455 double
I:1508 double
I:1536 double
I:1709 double
I:1774 double
I:1805 double
I:1836 double
I:1851 double
I:1873 double
I:1918 double
I:1967 double
I:1980 double
I:2016 double
I:2020 double
I:2108 double
I:2109+I:2108 double
I:2128 double
I:2164 double
I:2173 double
I:2256 double
I:2286 double
I:2332 double
I:2345 double
I:3109+I:3108 double
I:3151 double
I:3211 double
I:3250 double
I:3582 double
I:3596 double
I:3604 double
I:3636 double
I:3656 double
I:3716 double
I:3718 double
I:3760 double
I:4139 double
I:4164 double
I:4172 double
I:4230 double
I:4257 double
I:4263 double
I:4282 double
I:4288 double
I:4316 double
I:4317-I:4316 double
I:4346 double
I:4358 double
I:4445 double
I:4644 double
I:4645+I:4644 double
I:4657 double
I:4679 double
I:4705 double
I:4720 double
I:4866 double
I:4899 double
I:4923 double
I:5329 double
I:5423 double
I:5717 double
I:5731 double
I:5776 double
I:5960 double
I:6103 double
I:6117 double
I:6130 double
I:6178 double
I:6182 double
I:6341 double
I:6424 double
I:6435 double
I:6441 double
I:6470 double
I:6555 double
I:6567 double
I:6668 double
I:6695 double
I:6878 double
I:7341 double
I:7349 double
I:7370 double
I:7374 double
I:7419 double
I:7449 double
I:7555 double
I:7574 double
I:7719 double
I:7723 double
I:7729 double
I:7746 double
有没有办法在Stata中解决这个问题,还是需要使用其他软件?
答案 0 :(得分:0)
我不能使用包含冒号的变量名来制作样本数据。 试试:
导出到csv
outsheet using EXPORTED_FILE.csv
在文本编辑器中修改变量名称
答案 1 :(得分:0)
先前解决方案的问题(导出为.csv)是您可能会丢失变量的标签。可能的解决方案是使用以下代码用下划线替换变量名称中的所有非法字符:
foreach varname of varlist * {
local i = `i' + 1
if ( "`varname'" != ustrtoname("`varname'") ) {
mata : st_varrename(`i', ustrtoname("`varname'") )
}
}