全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2266 12
2014-09-19
悬赏 50 个论坛币 已解决
刚入手stata  数据处理方面还很不熟练 这儿碰到一个问题急需解决 还往向各位高手请教 问题如下:

        有两张数据表A和B,其中数据表A有个变量与数据表B中某个变量相同,但是观测值多于表B,但是我只想保留表A中那个变量与表B中那个变量观察值相同的数据,请问如何操作?例如:表A的结构是
var1  var2 var3 。。。
  1       ..     ...
  2       ..     ...
  3      ...     ...
  4      ...     ...

表B的结构是
var1
  1            
  3   

如何用命令操作才能在表A中只保留第一个和第三个观测值的数据(这儿仅仅举个例子便于大家理解我的问题,实际数据有很多,如果一个个挑实在太麻烦了),多谢了!   

最佳答案

btlover 查看完整内容

楼主讲得不够清楚,我假设是我以下的情况 数据1: var1 var2 var3 1 .. ... 2 .. ... 3 ... ... 4 ... ... 数据2: var1 var4 1 .. ... 3 ... ... 因为如果 数据2 中 没有var4,根本没有合并两个数据的必要。 如果我的理解没错,那么进行如下操作。 对数据1: sort var1 save data1, replace 对数据2: sort var1 merge 1: ...
二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-19 17:22:01
楼主讲得不够清楚,我假设是我以下的情况

数据1:
var1  var2 var3
  1       ..     ...
  2       ..     ...
  3      ...     ...
  4      ...     ...

数据2:
var1  var4
  1       ..     ...
  3      ...     ...

因为如果 数据2 中 没有var4,根本没有合并两个数据的必要。

如果我的理解没错,那么进行如下操作。

对数据1:
sort var1
save data1, replace

对数据2:
sort var1
merge 1:1 var1 using data1

解决问题。

注意,我上面的命令是假定在 数据1 以及 数据2 中的 var1 都是 id 变量,也就是每个观测值都有不同的 id,否则不应该用 1:1。
你可以自己在 Stata 中 help merge
二维码

扫码加我 拉你入群

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

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

2014-9-19 17:38:46
use A
merge m:1 var1 using B
drop if _merge!=3
二维码

扫码加我 拉你入群

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

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

2014-9-19 17:40:39
allenwang1 发表于 2014-9-19 17:38
use A
merge m:1 var1 using B
drop if _merge!=3
楼主的例子里面第一个数据的 id 是唯一的,没必要用 m:1
二维码

扫码加我 拉你入群

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

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

2014-9-19 18:05:02
btlover 发表于 2014-9-19 17:40
楼主的例子里面第一个数据的 id 是唯一的,没必要用 m:1
如何用stata计算出变量的变异系数后提取出变异系数值作为新的变量 你知道吗?
二维码

扫码加我 拉你入群

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

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

2014-9-19 21:13:37
回复楼上
如果你说的变量是 var,那么

sum var
gen vc = r(sd) / r(mean)

vc 就是变异系数
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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