全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5380 15
2010-02-21
求教各位  不同type的变量但是同为数值型的数据能合并吗
  具体情况为
    houseid(户名 type为long)  line(户中的具体个人代码 type为byte)
     2111101                                               1
     2111101                                               2
     2111101                                               3
     2111102                                               1
     2111102                                               2
     2111103                                               1


因为在与其他数据合并时要具体到个人 不然中间有些缺失值会错乱 有尝试定义新变量 gen id=houseid*10+line 进行合并 可是得出来的结果却不是等式应有的计算结果 非常困惑。 也有尝试用merge的命令 如merge houseid line using "  "  可是还是没成功。 希望高人给些意见。非常感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-2-21 12:39:21
可否贴出部分实际数据片段?
二维码

扫码加我 拉你入群

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

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

2010-2-21 12:51:58
gen id=string(houseid)+"0"+string(line) if line<10
replace id=string(houseid)+string(line) if line>9
二维码

扫码加我 拉你入群

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

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

2010-2-21 12:59:01
版主真是大好人 相当感谢!
这就是原数据的样子 我只是把数据改简单了而已  当要合并其他数据里的变量进来的时候 比如年龄 会有一些数据的缺失 如果直接用merge就定位不到特定的个人代码 就是那个houseid&line 数据就错乱了 所以我在想是不是可以把houseid跟line合并成一个代码 这样就可以定位到特定个人 就能用merge合并了 请问这样能行的通吗?还是需要别的办法才行?再次感谢!
二维码

扫码加我 拉你入群

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

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

2010-2-21 13:09:12
谢谢!
  可是我运行这个语句 出现了缺失值 原提示是这样的
gen id=string(hhid)+"0"+string(line) if line<10
(26 missing values generated)
.
. replace id=string(hhid)+string(line) if line>9
(26 real changes made)

请问这个是不是出错了呢?因为id整列数据都转红色了。
二维码

扫码加我 拉你入群

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

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

2010-2-21 13:14:33
尝试了一下这个命令 gen id=string(hhid)+string(line)
没有再出现缺失值 可是id整列数据仍然处于红色字体状态 请问这个为何?再次感谢!^_^
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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