全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
10239 6
2008-10-22
<p>跟大家请教一下,有个变量na是国籍,包括china, zhongguo, america什么的,请问有没有什么办法能把它变成dummy variable, 国籍是中国的1,非中国的0</p><p>我尝试了一下 gen nationality=na</p><p>                       replace nationality=1 if na=="china"</p><p>可是提示我type mismatch,</p><p>不知道怎么办了,请大家帮忙看看,谢谢啦</p><p></p><p> codebook na显示是下面这样,</p><p><br/>                  type:  string (str21)</p><p>         unique values:  67                       missing "":  4/1970</p><p>              examples:  "CHINA"<br/>                         "CHINA"<br/>                         "China"<br/>                         "china"</p><p>               warning:  variable has leading and embedded blanks</p><p><br/></p><p>sum na,显示如下</p><p><table border="1"><tbody><tr><td>Variable</td><td>Obs</td><td>Mean</td><td>Std.</td><td>Dev.</td><td>Min</td><td>Max</td></tr><tr><td></td><td></td><td></td></tr><tr><td>na</td><td>0</td></tr></tbody></table></p><p></p><p>tab na</p><p><br/>                  na |      Freq.     Percent        Cum.<br/>----------------------+-----------------------------------<br/>                China |          1        0.04        0.08<br/>            CANADA |          1        0.04        0.50<br/>                CHIAN |          7        0.29        0.79<br/>                CHINA |        956       59.90       40.69<br/>             American |          1        0.04        0.42<br/>            Australia |          1        0.04        0.46<br/>  CHINA  TAIWAN |          1        0.04       40.73<br/>       CHINA HongKong |          1        0.04       40.78<br/>                China |        509       39.59       70.37</p><p>...<br/>      . <br/></p><p></p><p></p><p></p><p><br/></p>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2008-10-22 22:54:00

gen nationality=0

replace nationality=1 if na=="china"

*先定义一个数值型变量nationality

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-10-23 03:19:00

哦,果然可以,谢谢版主拉!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-10-25 06:52:00
I think this is a general error that an entry level programmer alway gets.  In STATA or other statistical softwares like SAS, you might want to remember a rule of thumb that you can only define the attribute or type of one variable to either character or numeric. 

In your previous code, you first assign nationality to "na", a character variable, and then want to assign it to "1", a numeric variable. This disobeys the above rule. So STATA returns an error code indicating type mismatch. 

Keep this in mind you will not have similar problem again. 
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-10-29 19:39:00
hi manuchen,thx a lot for your kindly information. i'll keep this in mind
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-2-24 14:45:36
晕。有一个简单的命令:tab(原有变量名称),gen(新变量名称),然后回车即可。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群