3807 8

[面板数据求助] 逗号分隔符分列转置 [推广有奖]

  • 0关注
  • 0粉丝

本科生

38%

还不是VIP/贵宾

-

威望
0
论坛币
18 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
6965 点
帖子
36
精华
0
在线时间
120 小时
注册时间
2016-4-15
最后登录
2019-6-20

楼主
西瓜头小锅锅 发表于 2018-2-9 21:30:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教大家一个问题,以下数据stkcd 代表证券代码,year表示不同年份,Type表示划分类型,property表示股权性质,其中property一列均为字符串,我想实现逗号分隔处可以分列,然后前面的变量不变,将隔开的字符移至下一行。以5为例,即
5 2006 1 3110
5 2006 1 3000
5 2006 1 3000
5 2006 2 3110
5 2006 2 3000
5 2006 2 3000
。。。。。。
reshape的命令没搞明白,望大神不吝赐教!!!



二维码

扫码加我 拉你入群

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

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


回帖推荐

黃河泉 发表于3楼  查看完整内容

请 search tidy 并安装,试试

蓝色 发表于4楼  查看完整内容

用stata官方命令很容易解决

沙发
黃河泉 在职认证  发表于 2018-2-10 10:11:13
你的
  1. 2036 2015 1 "3120,3110"                                   
  2. 2036 2015 1 "3120,3110"                                   
  3. 2036 2016 1 "3120,3110"                                   
  4. 2036 2016 1 "3120,3110"
复制代码
有重复之现象。

藤椅
黃河泉 在职认证  发表于 2018-2-10 11:03:00
请 search tidy 并安装,试试
  1. duplicates tag stkcd year Type, gen(tag)
  2. duplicates drop stkcd year Type, force

  3. split property, p(",")
  4. drop property
  5. destring property*, replace

  6. gather property*
  7. *drop if value == .
复制代码

板凳
蓝色 发表于 2018-2-10 11:32:08
用stata官方命令很容易解决

  1. duplicates drop stkcd year Type, force
  2. split property, p(",") destring
  3. drop property
  4. reshape long property,i(stkcd year Type) j(group)
  5. drop if property==.
复制代码

已有 3 人评分学术水平 热心指数 信用等级 收起 理由
AngeliaHan + 1 + 1 + 1 观点有启发
Sunknownay + 3 + 3 + 3 精彩帖子
黃河泉 + 5 + 5 + 5 分析的有道理

总评分: 学术水平 + 9  热心指数 + 9  信用等级 + 9   查看全部评分

报纸
西瓜头小锅锅 发表于 2018-2-10 21:05:34
黃河泉 发表于 2018-2-10 11:03
请 search tidy 并安装,试试
感谢黄老师,代码试过了,可以用,最后一行代码drop前面应该没有*号吧。gather这个命令第一次见,需要学习一下。

地板
西瓜头小锅锅 发表于 2018-2-10 21:12:16
蓝色 发表于 2018-2-10 11:32
用stata官方命令很容易解决
感谢老师,reshape这个命令一直弄不明白,原来j里面可以直接用group代替,我一直以为i,j括号里的必须都得是数据里已有的变量呢。

7
黃河泉 在职认证  发表于 2018-2-11 08:00:04
西瓜头小锅锅 发表于 2018-2-10 21:05
感谢黄老师,代码试过了,可以用,最后一行代码drop前面应该没有*号吧。gather这个命令第一次见,需要学习 ...
"最后一行代码drop前面应该没有*号吧",我写那样是让你选择要不要 drop missing values。

8
hrhly1991 学生认证  发表于 2018-7-31 17:37:27
黃河泉 发表于 2018-2-10 11:03
请 search tidy 并安装,试试
黄老师,请问gather命令如何同时转换2个及以上变量?gather varlist , [variable(newvar) value(newvar) label(newvar)],命令语法中好像只能实现1个变量的宽变长。

9
黃河泉 在职认证  发表于 2018-7-31 17:41:43
hrhly1991 发表于 2018-7-31 17:37
黄老师,请问gather命令如何同时转换2个及以上变量?gather varlist , [variable(newvar) value(newvar)  ...
我没注意过这个问题,后来想一想,如同楼上蓝色版主所说,一般而言,reshape 将可以达成大部分目的!

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

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