楼主: clu43
5501 15

不同类型的变量合并问题 [推广有奖]

  • 0关注
  • 0粉丝

VIP

本科生

2%

还不是VIP/贵宾

-

威望
0
论坛币
541 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
364 点
帖子
36
精华
0
在线时间
88 小时
注册时间
2009-8-28
最后登录
2018-11-15

楼主
clu43 发表于 2010-2-21 11:22:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
求教各位  不同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 "  "  可是还是没成功。 希望高人给些意见。非常感谢!
二维码

扫码加我 拉你入群

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

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

关键词:变量合并 House Merge 定义新变量 Using 变量 类型

回帖推荐

sungmoo 发表于7楼  查看完整内容

*若你的line中含两位数,则使用(依此类推) g id=houseid*100+line

ctx5518 发表于3楼  查看完整内容

gen id=string(houseid)+"0"+string(line) if line9

沙发
sungmoo 发表于 2010-2-21 12:39:21
可否贴出部分实际数据片段?

藤椅
ctx5518 发表于 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

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

报纸
clu43 发表于 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整列数据都转红色了。

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

7
sungmoo 发表于 2010-2-21 15:02:54
*若你的line中含两位数,则使用(依此类推)
g id=houseid*100+line

8
clu43 发表于 2010-2-22 01:01:29
我有尝试用这个 可是出来的结果不对 全是偶数 不知为何 已用string的那个等式算出 谢谢版主^_^

9
sungmoo 发表于 2010-2-22 07:59:19
clu43 发表于 2010-2-22 01:01 我有尝试用这个 可是出来的结果不对 全是偶数 不知为何
所以还请你贴出部分数据片段(只这两个变量的即可)。

10
ctx5518 发表于 2010-2-22 12:22:04
检查你的原始数据中,houseid and line是否存在缺失值。

结果变成红色的原因是因为合并的数据是string变量。如果你想转换成数值型变量,用函数real()。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-20 13:54