楼主: jmjun85
1791 8

[数据管理求助] 请教一个stata的数据操作 [推广有奖]

  • 2关注
  • 5粉丝

svip3

已卖:21份资源

副教授

71%

(VIP/贵宾)七级

1%

威望
0
论坛币
69737 个
通用积分
299.6298
学术水平
4 点
热心指数
15 点
信用等级
1 点
经验
490 点
帖子
320
精华
0
在线时间
1471 小时
注册时间
2006-11-19
最后登录
2025-12-26

楼主
jmjun85 发表于 2015-12-12 16:06:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

QQ图片20151212155815.png
数据如图所示:每一个观测值都有一个_id, _n1也是来自于前列的id值,不过并不是每一个观测值都有。
我想实现的是:_n1列的id值为空的观测值要删除不要,但是如果某观测值虽然_n1为空,而其_id值却出现在_n1列中的任一地方,那么这个观测值还是留下。

应该写一条什么语句呢?

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 如图所示 观测值

QQ图片20151212155815.png (6.46 KB)

QQ图片20151212155815.png

沙发
jmjun85 发表于 2015-12-12 16:32:48
具体说就是:3137留下,_id等于2389的也要留下,而且可以肯定的是_id等于2389的_n1肯定等于空

观测值是stkcd-year

藤椅
jmjun85 发表于 2015-12-13 10:05:40
请大家指教呀!

板凳
luckykong 发表于 2015-12-13 16:15:17
给你个思路。
你这个操作的难点在于如何找出 出现在n1里的id?是这样么?
你可以先提取出n1,去掉重复值之后,另存为一份新数据。
然后用就数据里的id和这个新数据 merge。根据merge的结果进行判断
已有 1 人评分经验 热心指数 收起 理由
夏目贵志 + 5 + 1 热心帮助其他会员

总评分: 经验 + 5  热心指数 + 1   查看全部评分

报纸
夏目贵志 发表于 2015-12-14 06:06:32
luckykong 发表于 2015-12-13 16:15
给你个思路。
你这个操作的难点在于如何找出 出现在n1里的id?是这样么?
你可以先提取出n1,去掉重复值之 ...
是个不错的思路~

地板
jmjun85 发表于 2015-12-14 10:10:02
luckykong 发表于 2015-12-13 16:15
给你个思路。
你这个操作的难点在于如何找出 出现在n1里的id?是这样么?
你可以先提取出n1,去掉重复值之 ...
确实难点就在这,我以为要写个什么循环慢慢匹配,或者有个什么很厉害的语句。

不过你的这个思路太好了

谢谢你

7
jmjun85 发表于 2015-12-15 11:02:57
luckykong 发表于 2015-12-13 16:15
给你个思路。
你这个操作的难点在于如何找出 出现在n1里的id?是这样么?
你可以先提取出n1,去掉重复值之 ...
可是还是有点问题。完整的数据结构应该是这样的 1.png


可是我在保存单独的_n1数据(并更名为_id进行合并)的时候还是要用stkcd,year来定位它,而这种定位是错的。因为如果按照这种定位的话,合并后,600004,2008就有两个_id值,3137和2389。还是没有找到2389真正对应的那个600743,2014

数据集是这样的 1.dta (39.06 KB)

可不可以帮我看看。

8
jmjun85 发表于 2015-12-15 11:05:27
还得要大家指教呀 !不胜感激

9
jmjun85 发表于 2015-12-17 12:59:39
来个老师帮忙看看呀

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

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