全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
1722 2
2010-01-29
连老师,您好!很冒昧在这里问您三个和我论文相关的stata命令,我把初级班的课都听完了,但具体涉及论文应用的时候,又蒙了。我知道这个貌似不属于您课堂所讲内容的范畴,但我真的恳求您能帮我解决这三个很棘手的问题。我相信这些命令您上课都讲过,只是到了具体应用时,不熟练的我又不太能够变通了。希望您能帮我!!!!

我做一个关于教育投资回报的论文,已有二手数据,别的机构搜集的 ,是个让湖北部分高校毕业生填的调查问卷,样本为700多。
Y1: 大学毕业第1年收入,
Y2: 第3年收入
Y3: 第5年收入,以上三个都是数值型,基本都是1000以上的

我的三个问题如下:
有很多X, 以下罗列我不知道如何操作的X变量:
问题1
X3:父母学历 (原始数据是字符型,答案从a到g (a,b,c,.....g), 分别代表从小学以下,到研究生以上) ----我该用什么命令把这些字符型的字母转成数值型的数字1-7?我希望让a=1,b=2....g=7 并且1-7都是数值型数据。(该变量名为“parent")

问题2
X6:大学的级别,是个字符型,原问卷上是让毕业生填毕业院校,我想把其归类一下。不超过10所大学的毕业生,只是有部分人把大学简写了,比如“武大”,“华科”这样。如何将其数值化?我希望按照本一--本三的级别(1-3)来定值,设想的命令是,
if a1="武“, ”华“,则赋值为3; if a1="某某学院“,”某某大学“,则赋值为2; if a1=.......则赋值为1. 由于简写的存在,所以只可以用字符首字来归类。这个命令该如何写? (大学级别这个变量名为“univ")

问题3
X7:大学的专业,这个比大学名称更不统一,有20多种专业,更艰巨的是有些受访者简写,比如 “生物”, “生物医学”, “生命科学”, “生化”等等,其实从我定量上看,都只把它们归为一类 ”生物“, 这种情况下,可否用开头字符或者中间包含的字符来将他们分类成“生物”呢?然后再定义成我研究中给他们专业排的级别,将其数值化,比如 ”生物“=2. .这一整套命令如何处理?(专业这个变量记为major)

非常感谢连老师的帮助!我上您的课其实就是为了做这项研究,但是还是经验不足,而课题又迫在眉睫,所以恳请您的帮忙!!感激不尽!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-1-30 09:51:56
我的三个问题如下:
有很多X, 以下罗列我不知道如何操作的X变量:
问题1
X3:
父母学历 (原始数据是字符型,答案从ag (a,b,c,.....g), 分别代表从小学以下,到研究生以上) ----我该用什么命令把这些字符型的字母转成数值型的数字1-7?我希望让a=1,b=2....g=7 并且1-7都是数值型数据。(该变量名为
“parent")
答复:你可以使用外部命令 egenmore 来处理,步骤如下:

(1)
下载 egenmore 命令:

ssc install egenmore, replace
(2)
a-g 转换为 1-7,二者均为字符型


egen parent123 = msub(parent), f(a b c d e f g) r(1 2 3 4 5 6 7)

(3)
parent123 转换为数值变量

gen parent_123 = real(parent123)


问题2
X6
:大学的级别,是个字符型,原问卷上是让毕业生填毕业院校,我想把其归类一下。不超过10所大学的毕业生,只是有部分人把大学简写了,比如武大华科这样。如何将其数值化?我希望按照本一--本三的级别(1-3)来定值,设想的命令是,

if a1="
,则赋值为3; if a1="某某学院某某大学,则赋值为2 if a1=.......则赋值为1. 由于简写的存在,所以只可以用字符首字来归类。这个命令该如何写? (大学级别这个变量名为“univ"
答复:按如下步骤操作
(1)
执行如下命令,屏幕上会列出所有大学的类别名称

tab univ
(2)
依次执行如下命令:

gen ben1 = inlist(univ, “武汉大学”, “武大”, “华中科技大学”, “华科”, “请依次填入其它一本院校的名称”)
//
在这里填入所有一本院校的名称,要与第一步中列出的名称一致;

gen ben2 = inlist(univ, “请依次填入二本院校的名称”)
gen ben3 = inlist(univ, “请依次填入三本院校的名称”)
(3)
完成上述三个变量的定义后,可以合并出一个你所需的类别变量:

gen univ_type = 1
replace univ_type = 2 if ben2==1
replace univ_type = 3 if ben3==1

问题3
X7:
大学的专业,这个比大学名称更不统一,有20多种专业,更艰巨的是有些受访者简写,比如生物生物医学生命科学生化等等,其实从我定量上看,都只把它们归为一类生物 这种情况下,可否用开头字符或者中间包含的字符来将他们分类成生物呢?然后再定义成我研究中给他们专业排的级别,将其数值化,比如生物“=2. .这一整套命令如何处理?(专业这个变量记为
major)
答复:由于只有20多个专业,数量并不多,可参考第二个问题中的处理方法。

二维码

扫码加我 拉你入群

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

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

2010-1-30 14:40:58
连老师,真的不知道怎么感谢您!真的是帮了我大忙了,您的代码我还有几处需要理解一下,要再听您的课温习一下。
非常佩服您的学识!

2# arlionn
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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