首页 > 解决方案 > append 后变量名的不同情况

问题描述

我已将多个文件附加到单个 sSata 数据集中。它现在有335变量名。一些变量名称存在大小写问题almirah,例如ALMIRAH存储来自不同数据集的相同信息。

我将像这样一一替换这些变量:

count if mi(almirah)
local first=r(N)

count if mi(ALMIRAH)
local sec=r(N)

if first<sec {
    replace almirah=ALMIRAH if mi(almirah)
}
else {

}

我如何为所有本质上是相同变量但具有类似大小写问题的变量编程?

标签: statastata-macros

解决方案


假设你有frog toad newtFROG TOAD NEWT。让我们确定具有小写名称的变量是确定的。因此,包含部分或全部这些的循环可能会有所帮助。

foreach v in frog toad newt { 
    local V = upper("`v'") 
    generate `v'2 = cond(missing(`v'), `V', `v') 
    display  
}

我在那里创建了一个新变量,因为可能还有其他问题。如果有,覆盖您的数据可能会掩盖它们的含义。

注意:在您的代码段中,您至少需要

 if `first' < `sec'

使其合法,作为对变量或标量的引用,first并且sec将被解释为对变量或标量的引用。但目前还不清楚为什么缺失值的数量很重要。如果我有 42 个观察值,然后再有append66 个,结果应该与相反的结果相同。


推荐阅读