全部版块 我的主页
论坛 休闲区 十二区 灌水吧
5010 0
2021-07-08
stata基础
一、变量类型
字符型数据:存储格式是str#,其中str表示Stata使用字符型变量的格式,而#表示Stata该变量的存储最多可容纳的字符数。数值型数据缺失数据:Stata有27个数值型代码:. 、.a、.b、.c、.d、…….z。保存类型:byte,int,long,float,double

format state %14s——>%-14s //即由右对齐改为左对齐
format pop %11.0g——>%12.0gc //增加三位一个的数字分界符
format medage %9.0g——>%8.1f //要求显示一位小数
rename var2 price //改变量名var2为price
label variable medage “the median age” //定义变量标签
label data “2021 state population data” //定义整个数据标签
list ,separator(3) //列表,每隔3行划线
list ,sepby(medage) //列表,当medage 变化时划线
list ,sum(pop medage)//列表,求和pop medage
describe //描述
codebook state pop//描述 state pop
二、stata表达式
算术符号:“+”(加)、“—”(减)、“*”(乘)、“/”(除)、“^”(乘方)以及“—”(负号);关系符号:“==”(等于)、“!=”(不等于)、“>”(大于)、“<”(小于)、“>=”(大于等于)、“<=”(小于等于)
3.逻辑符号:“!”(或)、“&”(且)、“|”(非)

注:“==”标志一种逻辑检验,表示“是否左侧的值与右侧的值相等”,对于Stata而言,一个等号则代表了另外的意思,它表示了“让左边的值与右边的值相等”
gen educ_exper=educ*exper if educ>=9//对educ数值大于9的观测值生成educ与exper的交叉项,新变量的名称为educ_exper
replace fem_educ=educ if female==1//当female=1时,female与educ的交叉项等于educ
gen educ3=round(sqrt(educ))//函数round的含义是取整数,sqrt()表示开根号,如果()内是负值,那么该函数将返回缺失值
bysort female:egen educmed=median(educ)//赋值为educ受教育年数中位数,这项工作要求分性别进行
egen higheduc=anyvalue(educ),v(13/18)//生成一个新变量higheduc,如果educ大于12则higheduc包含这个变量的数值,否则为缺失值,v(13/18)表示从13都18的数字都在符合的候选数字之内
egen sexmar=group(female married)//生成一个新变量sexmar,赋值为1、2、3…… ,这些数值为female和marriage的各种组合编上类别序号
三、变量转换
encode sex,generate(gender)//生成数值型变量gender
decode gender,generate(gender2)//根据gender变量重新生成一个字符型变量gender2
recode x2(1 2=1)(3=2)(4/7=3),gen(nx2)//改变x2的赋值,由1和2变为1,将3改为2,将4到7改为3并将新的结果保存在nx2
gen exper1=autocode(exper,5,1,51)//表示根据x值形成分类变量:将exper的值域(即最小值1至最大值51)分成等距的5份,并求出各x值所在区间的上限
gen exper2=group(5)//建立一个分类变量,将按排序后的数据分为尽量等规模的5个子样本
gen exper3=recode(exper,5,15,25,40,51)//当x缺失时求得缺失值,当exper<5时求得5,当exper<15时求得15
四、变量合并
merge make using autocost//将make作为索引变量将两个数据横向合并在一起
merge make using updates,update//利用merge将两数据合并在一起,要求如果出现主数据和调用数据不一致的地方则依据调用数据进行修改
append using even//将even的数据加载在odd数据之后
append using domestic, keep(make price mpg rep78 foreign)//将国产汽车的数据添加到国外产汽车的数据之后,并保留make, price, mpg, rep78, and foreign
joinby family_id using child//以family_id为索引变量,将child.dta与family进行交叉合并
cross using sex//进行一一交叉合并
五、变量抽取
sample 10,count//简单随机抽样,抽取10个观测值
sample 10 if female==1,count//在女性数据中抽取10个样本并保留所有男性样本
sample 10 ,count by(female)//在男性和女性样本中各抽取10个样本
sample 5 ,count by(female married)//对female和married的各种组合各抽取5个样本

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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