admin管理员组

文章数量:1536093


## *经常在生成新变量的时候出现type mismatch,怎么解决,
*给出三种解决方法

*第一种 用destring,语句如下:(变量名称都叫var)
destring var,replce
**这个语句之后会出现两种情况,一种就是成功改变变量类型
**第二种情况就是出现“var contains nonnumeric characters; no replace”
***出现第二种情况有两种解决方法:
**第一种简单粗暴,后期需要前后对比数据是否准确
encode var ,gen (var1)
*这时候数据类型将改变成为long,再生成新变量
gen float var_new = var1
tab var_new
*这时候就可以生成一个数据类型是对的变量
*上面方法有时候会出错,还有一种比较详细的办法:
gen byte notnum = real(var) == .
*找出新变量出错的地方(假设出错是一个变量的选项为1,2)
replace var = "." if var == "1,2" 
**记得加“ ”这个,将数据出现问题的地方用缺失值加以替代
destring var ,replace
*再对数据进行替换就可以了
ta var 
**再更新一种:
gen Year=real(substr(Accper,1,4))

本文标签: mismatchtypenonnumericreplacecharacters