首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stata:如果数据是mi集,则重新创建宽数据。

Stata:如果数据是mi集,则重新创建宽数据。
EN

Stack Overflow用户
提问于 2015-10-19 15:58:20
回答 1查看 2.2K关注 0票数 0

我的数据是长格式的,有单独的标识符和年份标识符。它是来自不同数据集的合并和附加的数据文件。

编辑:我的目标是重塑它,用前几年的变量对所有一年的观测结果进行回归。我的目标不是能够使用任何mi命令。

这是我的重塑代码:

代码语言:javascript
复制
use "${DATA_PATH}HViD_SOEP_rev_dum.dta"

* save all variable-names
quietly describe, varlist
local all_vars = r(varlist) 
display "`all_vars'"
 ** reshape **
foreach var in `all_vars'{
    display "`var'"
    * no reshape for pid, hid, syear and ypnat 
    if `var' == "pid" | `var' == "hid" | `var' == "syear" | `var' == "ypnat*" {
        * do nothing
    }
    else{
        * reshape 
        reshape wide `var', i(pid) j(syear)
    }
}

我得到了回报

不;数据是mi集,使用mi整形对这些数据执行整形。mi reshape具有与reshape相同的语法。也许你没有键入重塑。在这种情况下,您输入的命令调用了reshape,因此不适合与mi数据一起使用。使用mi解压缩或mi xeq选择要运行命令的数据,这可能是m=0。

在“stata-手册”中,有一条是:

mi unset是很少使用的取消数据设置的命令。更好的替代品包括mi提取和mi导出(分别见MI提取和mi导出)。

我尝试了mi extract = 0,这是推荐的这里。但回报是

语法错误m=0找到#预期的位置

我还尝试了mi reshape widevar',i(pid) j(syear)`。它解决了

i(pid) j(syear) ( brutto1 brutto2 hinc imo geld betr netw erbey未注册,因为未在m=0中注册) _mi_miss未找到

所以,现在我已经别无选择了。我不知道在哪里可以找到mi_miss变量,因为它不在原始数据中。

我不想将我的数据导出到csv文件中,因为这会导致我的标签丢失。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-22 10:37:42

感谢大家花了这么多时间,并认为你在这个问题上献出了力量。我会回答我的问题,因为我至少找到了一个解决办法。我知道我的问题是一个非常具体的问题。不管怎样,伊豪,这是解决这个问题的最好办法。

最初的想法来自于国家主义者

我将mi集数据导出到.csv,并确保标记变量,其中导出的变量不是整数,而是值。然后,我将数据重新导入到stata。结果文件不再是mi集了。通过将这些数据附加到我的其余数据中,我重新获得了目标文件,但这一次不是mi设置。在追加时,我确保重新导入的文件不是主文件,而是使用文件。因此,主文件中的标签将展开为最终文件.下面是我的导出和重新输入代码:

代码语言:javascript
复制
* load data *
use "${DATA_PATH}HViD_green_yellow.dta"

*** export data to .csv ***  
/* 
NOTE: instead of labels the numeric values are saved! This is important to 
ensure that the reimported dataset will be compatabile with SOEP-data.  
All strings are in double quotes: ""
*/
export delimited using "${DATA_PATH}HViD_miunset.csv", nolabel quote replace

clear  

*** import data ***
import delimited "${DATA_PATH}HViD_miunset.csv"

*** check data for integrity **
cf _all using "${DATA_PATH}HViD_green_yellow.dta"

*** save data ***
save "${DATA_PATH}HViD_miunset.dta"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33218916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档