全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2951 9
2020-04-24
使用HS2007的baci数据库。现在想筛选特定产品的数据,比如k是840120、k是840710等的数据(一共由300个左右)。
我用keep if 语句,把300个的编码都写出来了。
我尝试执行了两行命令,从keep if k==840120开始到k==84399。但是只筛选出keep if所在的第一行数据。只筛选到k==841122,为什么下一行开始都没能筛选出来,我是漏了什么吗?
小白一个,求大神们帮助啊!!!!
6.jpg


附件列表
微信图片_20200424173457.png

原图尺寸 25 KB

微信图片_20200424173457.png

4.png

原图尺寸 196.66 KB

4.png

二维码

扫码加我 拉你入群

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

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

全部回复
2020-4-24 23:30:05
不是很明白你想表达的问题。那我就按照我的理解说说我的看法吧。
我先把数据从excel导入stata中。 然后排序。命令: gsort k
这样,相同k值的就都排列在一起了,而且从小到大排列。 这样你就可以顺利查看数据了。

至于你提到的“筛选”,excel的术语,上面的步骤可以实现excel筛选和排序功能。
如果还想把某几个k值的数据单独保存为另一个文件, 比如k值大于84012的保存起来,可以这样
keep if k>84012
save filename.dta

二维码

扫码加我 拉你入群

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

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

2020-4-25 11:48:16
uglyljr 发表于 2020-4-24 23:30
不是很明白你想表达的问题。那我就按照我的理解说说我的看法吧。
我先把数据从excel导入stata中。 然后排序 ...
感谢你的帮助,我也是用了if语句,写了很复杂(把200多个编码都写上了),想问问有没有比较简便的命令写法
1.jpg

二维码

扫码加我 拉你入群

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

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

2020-4-27 00:47:58
小莹要毕业 发表于 2020-4-25 11:48
感谢你的帮助,我也是用了if语句,写了很复杂(把200多个编码都写上了),想问问有没有比较简便的命令写法 ...
当然,首先要明白你的研究目的啦。
单从你贴出来的命令看,我会用这个命令
keep if k >840119
二维码

扫码加我 拉你入群

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

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

2020-4-27 12:47:43
小莹要毕业 发表于 2020-4-25 11:48
感谢你的帮助,我也是用了if语句,写了很复杂(把200多个编码都写上了),想问问有没有比较简便的命令写法 ...
不知道編碼是否有特定的
像是說前幾碼等於特定數字, 那可以先建立一個變數假設叫k1,k1為前2碼,你要抓取前兩碼為84
這樣可以這樣做,指示步驟也很多
tostring k,replace //先將K轉為字串
gen len=length( k)  //確定字串長度,檢測太短的字串
gen k1=substr(k,1,2) //前兩字元
keep if k1=="84"
keep if len==6 //排除字元數少者
二维码

扫码加我 拉你入群

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

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

2020-4-30 19:55:26
uglyljr 发表于 2020-4-27 00:47
当然,首先要明白你的研究目的啦。
单从你贴出来的命令看,我会用这个命令
keep if k >840119
我用infile导入了数据然后执行了keep命令,可是出现了这样的问题,请问是在哪里出问题了呢?
1.png
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群