楼主: fujingchi
25440 20

[数据管理求助] 救助论坛,如何将多个变量合并成一个变量? [推广有奖]

11
115861 发表于 2018-3-31 18:00:02
SpencerMeng 发表于 2015-1-9 15:00
楼主,您好,也可以采用concat合并变量的命令,不论两个变量是字符还是数值型,均可使用。
您好,请教一下这种如何合并呢?数据量很大,这里这是截取了一部分。谢谢!
  1. clear
  2. input int year double(ex1978 ex1979 ex1980 ex1981 ex1982)
  3. 1978 143   .   .   .   .
  4. 1979   . 141   .   .   .
  5. 1980   .   . 162   .   .
  6. 1981   .   .   . 173   .
  7. 1982   .   .   .   . 177
  8. end
复制代码
试一下concat命令,但是效果不好,最后得到的变量有很多点

12
黃河泉 在职认证  发表于 2018-4-1 17:55:01
115861 发表于 2018-3-31 18:00
您好,请教一下这种如何合并呢?数据量很大,这里这是截取了一部分。谢谢!
试一下concat命令,但是效果 ...
你要说明一下你要的结果型态啊!

13
115861 发表于 2018-4-1 20:00:11
黃河泉 发表于 2018-4-1 17:55
你要说明一下你要的结果型态啊!
想要变成如下的形式
  1. year         exsum
  2. 1978      141
  3. 1979      162
  4. 1980      173
  5. 1982      177
复制代码
其中exsum是新生成的变量名,谢谢

14
黃河泉 在职认证  发表于 2018-4-2 07:39:45
115861 发表于 2018-4-1 20:00
想要变成如下的形式
其中exsum是新生成的变量名,谢谢
你的结果有误,请试试
  1. reshape long ex, i(year) j(j)
  2. drop j
  3. collapse (mean) exsum = ex, by(year)
复制代码

15
黃河泉 在职认证  发表于 2018-4-2 09:42:56
115861 发表于 2018-4-1 20:00
想要变成如下的形式
其中exsum是新生成的变量名,谢谢
  1. egen exsum = rowtotal(ex*)
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
115861 + 5 + 1 + 2 + 1 精彩帖子
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 论坛币 + 5  学术水平 + 4  热心指数 + 5  信用等级 + 4   查看全部评分

16
115861 发表于 2018-4-3 11:33:33
黃河泉 发表于 2018-4-2 09:42
谢谢!

17
gaorenda 发表于 2018-5-8 10:47:07
一默如雷 发表于 2017-11-2 01:08
stack var1 var2 , into(var3) clear  // var1 var2 是原先存在的两个变量, var3 是生成的新变量
大神,如果是两个职业变量,已经转换为isco,如何将数据合并?也用这个命令吗?为什么显示unrecognized command:  stack。谢谢回答

18
gaorenda 发表于 2018-5-8 11:42:02
SpencerMeng 发表于 2015-1-9 15:00
楼主,您好,也可以采用concat合并变量的命令,不论两个变量是字符还是数值型,均可使用。
为什么合并两个职业类型变量,会出现unrecognized command:  egen
r(199);多谢解答

19
袋鼠的 发表于 2021-8-20 10:20:30 来自手机
五个多类别变量分别是1.何处参保新农合作医疗保险
2.何处参保城乡医疗合作保险,
3.何处参保城镇职工医疗保险,
4.何处参保城镇居民医疗保险,
5.何处参保公费医疗医疗保险,
这个类别变量的取值分别是1本地 2户籍地 3其他地方
我想合成一个新的变量 就是:是否本地参保了医疗保险 取值为0.1,只要这五个分类变量中有填写1本地的,都取值1,其他填写含有2或者3,取值为什么0

请问怎么操作呢

20
zdlspace 学生认证  发表于 2021-8-20 11:46:36
袋鼠的 发表于 2021-8-20 10:20
五个多类别变量分别是1.何处参保新农合作医疗保险
2.何处参保城乡医疗合作保险,
3.何处参保城镇职工医疗 ...
假设你的变量为var1,var2,var3.var4.var5,则命令为
  1. egen wanted=anymatch(var*),v(1)
复制代码

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 02:39