6106 8

[面板数据求助] reshape,长面板数据转宽面板数据values of variable X not unique within Y [推广有奖]

  • 0关注
  • 2粉丝

硕士生

14%

还不是VIP/贵宾

-

威望
0
论坛币
17157 个
通用积分
13.9621
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
968 点
帖子
68
精华
0
在线时间
182 小时
注册时间
2017-3-3
最后登录
2025-1-13

楼主
务正业的小明 发表于 2020-7-13 14:45:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
老师同学们大家好,想问问这种情况怎么办,如图。我用的命令是这个
reshape wide rating, i(neighborhood) j(terms) string

还是说我需要给neighborhood和terms编号? 编号的话我用的是excel,如果大佬们正好知道方便的编号方法(所有point breeze编号1,后面的依次排号这种)也可以分享,谢谢,会有论坛币感谢。
data description stata报错 目标格式

我编号的时候发现有个重复数据。 4.png 5.png 删掉其中一个后,命令改成
reshape wide rating, i(neighborhood num) j(terms) string

结果跑出来还是很奇怪。如果有能看出问题的大佬请随意指点!都有论坛币感谢。 6.jpg
二维码

扫码加我 拉你入群

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

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

关键词:Variable reshape unique values within

沙发
务正业的小明 发表于 2020-7-13 15:14:05
图三是我的理想结果幻想图。。

藤椅
DΘstinyじò 发表于 2020-7-13 18:18:33 来自手机
务正业的小明 发表于 2020-7-13 14:45
老师同学们大家好,想问问这种情况怎么办,如图。我用的命令是这个
reshape wide rating, i(neighborhood) ...
了解一下gather,spread这一对命令,可以实现长宽面板转换,更为方便简洁,很适用这种情况。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
务正业的小明 + 5 + 1 + 1 + 1 观点有启发

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

板凳
务正业的小明 发表于 2020-7-13 19:35:30
DΘstinyじò 发表于 2020-7-13 18:18
了解一下gather,spread这一对命令,可以实现长宽面板转换,更为方便简洁,很适用这种情况。
谢谢老哥,试过了,spread terms_ Score_
但还是很多行。。

报纸
蓝色 发表于 2020-7-13 21:53:35
最好还是提供数据
才能知道问题

1、看看下面帖子,学习怎么提问
https://bbs.pinggu.org/thread-5917273-1-1.html
, 与
https://bbs.pinggu.org/thread-5048204-1-1.html 。

2、先执行下面命令安装dataex命令:  ssc install dataex。
3、用 dataex 命令,可以从你使用的数据中随机抽取一部分数据,
这样提供的数据就是你使用的有”代表性”的数据,别人才容易回答
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
务正业的小明 + 5 + 1 + 1 + 1 精彩帖子

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

地板
DΘstinyじò 发表于 2020-7-13 22:17:00 来自手机
务正业的小明 发表于 2020-7-13 19:35
谢谢老哥,试过了,spread terms_ Score_
但还是很多行。。
是吗?我刚刚在电脑上试了一下可以呀。spread terms rating
就是达到你第三张的那个横条的样子。
ssc  install  tidy
安装命令
已有 1 人评分论坛币 收起 理由
务正业的小明 + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

7
DΘstinyじò 发表于 2020-7-13 22:34:08 来自手机
务正业的小明 发表于 2020-7-13 19:35
谢谢老哥,试过了,spread terms_ Score_
但还是很多行。。
命令是没问题的,问题出在数据里面,没有仔细看你的第二张报错图。红色部分上面给出了一个警示,j=....你看一下,因为terms数据里面有两个类别数据都带有“&“符号,导致分类不唯一了;另外就是数据空格的问题,因为转换为宽面板后是要作为变量名的一部分,空格也不符合要求,reshape会删除带空格的类别项,spread会报错的。重新命名这些数据,可用“_”代替。
  1. gen n_terms=subinstr(terms," ","_",.)
复制代码
这样你的之前的reshape就是可行的,但还是推荐一下spread,因为分成宽面板的时候,变量名称就是类别数据,不像reshape有一个terms的前缀,当然看自己需要取舍。
产生num的话,可以用以下代码:
  1. egen num=seq(),from(1) b(12)///每一个neighborhood有12项
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
务正业的小明 + 5 + 1 + 1 + 1 精彩帖子

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

8
DΘstinyじò 发表于 2020-7-13 22:34:08 来自手机
务正业的小明 发表于 2020-7-13 19:35
谢谢老哥,试过了,spread terms_ Score_
但还是很多行。。
手机重复回复了。

9
务正业的小明 发表于 2020-7-14 10:26:54
蓝色 发表于 2020-7-13 21:53
最好还是提供数据
才能知道问题
好的,谢谢,估计是数据的问题。我用rapidminer直接pivot了,效果也还行。

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

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