楼主: EView.Q
4742 14

[编程问题求助] STATA中五个变量加限定筛出数据,再对筛选后的数据计算收入项的均值。 [推广有奖]

  • 0关注
  • 0粉丝

大专生

30%

还不是VIP/贵宾

-

威望
0
论坛币
363 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
902 点
帖子
32
精华
0
在线时间
50 小时
注册时间
2014-10-27
最后登录
2016-6-8

楼主
EView.Q 发表于 2016-1-14 19:41:00 |AI写论文
58论坛币
我在网上看了很多才来提问的,自己由于刚接触,写的总是运行不了。时间有限,只好来请大家帮忙了···

我这里有a1到a5,五个变量,需要对它们筛选分组计算收入项INCOME的均值。大致思路如下:

a1=(1973,1983)or(1984,1994)or(1995,2005)

a2=1or0

a3=1or2

a4=(1,8)or(9,16)or(17,24)

a5=(1,4)or(5,9)or(10,16)

2*2*3*3*3分为108组

计算每一组收入项的均值,列出或生成新的变量···

怎么让5个条件同时限制,再对数据中的收入计算均值呢?需要循环语句还是手动输呢??

求大家来帮忙解答,只要你在中国,我请你吃饭~~


最佳答案

forewee 查看完整内容

sum inc1-inc108
关键词:Stata tata Income 循环语句 Come Stata STATA问题 stata学习

回帖推荐

江城五月1015 发表于15楼  查看完整内容

自定义每组上限的分类,假如从1980-2000每5年分一个组就是 g group=recode(a1,1985,1990,1995,2000) 简写 sum inc1-inc108

沙发
forewee 发表于 2016-1-14 19:41:01
EView.Q 发表于 2016-1-19 22:08
你好,分类变量的生成这步可以写出来语句让我看下吗?
还有请问你知道怎么简写sum inc1 inc2 inc3----in ...
sum inc1-inc108

藤椅
throndon 发表于 2016-1-14 20:19:28
没看懂你这五个变量和income之间是啥关系,爱莫能助

板凳
EView.Q 发表于 2016-1-14 21:27:32
throndon 发表于 2016-1-14 20:19
没看懂你这五个变量和income之间是啥关系,爱莫能助
就是限制5个数据项的范围,分组计算income的均值啊。我下面发个图,你看看

报纸
EView.Q 发表于 2016-1-14 21:28:10
数据的大致格式

2016-01-14_212147.png (17.25 KB)

2016-01-14_212147.png

地板
EView.Q 发表于 2016-1-14 21:28:49
分组的逻辑

2016-01-14_212534.png (27.81 KB)

2016-01-14_212534.png

7
EView.Q 发表于 2016-1-14 21:31:50
按这个表里的格式的话,a1有3个取值范围,a2有3个取值范围,a3有两个值1,2,a4有两个值1,2,a5有三个取值范围。
然后参照我的分组方式就是3*3*2*2*3=108组,分别计算这108组的均值,输出到一个新的变量中~~
谢谢大家了,前面没说清楚。

8
throndon 发表于 2016-1-15 09:11:46
EView.Q 发表于 2016-1-14 21:31
按这个表里的格式的话,a1有3个取值范围,a2有3个取值范围,a3有两个值1,2,a4有两个值1,2,a5有三个取值 ...
你这个唯一的办法是先将数据形式由长数据变成宽数据,采用reshape wide,从而生成108种组合的108个变量,每个变量下面的值都是income值,然后用for语句来批量计算出相应的均值(mean函数)。比较麻烦,先生成识别编号,比如农户编号、企业编号之类的,否则比较混乱。
已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
夏目贵志 + 5 + 1 热心帮助其他会员
EView.Q + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 5  学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

9
EView.Q 发表于 2016-1-15 23:09:44
throndon 发表于 2016-1-15 09:11
你这个唯一的办法是先将数据形式由长数据变成宽数据,采用reshape wide,从而生成108种组合的108个变量, ...
小白表示理解困难,你可以用一个简单的数据写一点出来我看一下吗?
今天发现用gen inc1=income if a5>9 & a3<=1......来分,然后summarize inc1,可以一个一个的做,但麻烦的很。1
新手,不知道怎么关联语句,还在研究手册中。

10
阿狸与桃子 发表于 2016-1-18 10:16:11
你可以试下先把a2,a3合并为一个四个分组的分类变量a6,然后用
table a1 a4 a5, by(a6) c(mean income)直接做个联立表看结果。 (a1-a6可以按个人需求来放置顺序)
不过感觉你的分组太细,每组的样本量可能会过小。
看一下table 的help 文档吧,这是做分组描述时必不可少的一个命令。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
EView.Q + 1 + 1 + 1 观点有启发

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

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

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