Stata:从Excel导入时以小写重命名变量

时间:2014-01-14 18:14:24

标签: excel variables import stata

我正在尝试导入具有可变名称的Excel工作表,其中包含大写和小写字母的混合。我希望Stata将它们全部读作小写,但当我放入case(lower)选项时,Stata会返回option case() not allowed

这是我尝试放入的内容:

import excel "/Users/p/D/B/File name/", sheet("Sheet1") firstrow case(lower)

当我不使用import选项时,case()命令正常工作。有人能告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:4)

我发现很难重现您的问题,但下面是一个使用各种case()选项的工作示例(基本上来自help import excel):

clear all
set more off


*----------------- Create data -----------------------------

* Load example Stata data base
sysuse auto
keep make price headroom length turn

* Change variable names to experiment
rename (headroom length turn) (HEADRoom LENGTH turN)

* Create example Excel file
export excel auto, firstrow(variables) replace


*----------------- Importing -------------------------------

* Import just as it is
import excel auto.xls, firstrow clear
describe

* Import with upper case
import excel auto.xls, firstrow case(upper) clear
describe

* Import with lower case
import excel auto.xls, firstrow case(lower) clear
describe

注意它们都可以正常工作。变量名称会相应地转换为大写/小写。变量标签不是,但这是预期的。来自help import excel我们有:

  

第一行中的原始名称未经修改地存储为变量   标签

case() 影响变量名称。

你还提到:

  

当我不使用case()选项时,导入命令正常工作。

假设这是真的。然后在导入后将变量名称转换为小写,您可以尝试

rename _all, lower

有关详细信息,请参阅help rename group。 (但就像我展示的那样,case()选项有效。)

最后,如果您使用的是变量标签,则可以使用

之类的内容进行更改
foreach varr of varlist _all {
    label variable `varr' "`varr'"
}

对于所有变量,只需将变量名称复制到标签即可。因此,在将所有变量名称转换为小写后运行,将为您提供小写的变量标签。有关详细信息,请运行help label