⑴ Stata常用的基础语法命令
-《用Stata学计量经济学》
use:打开一个已存的Stata数据(.dta)文件,可以是文件名也可以是详细地址;ex:use "xxxxx" or "D:\xx\xxx\xxx(.dta)" ;use [varlist] [if] [in] using filename [, clear nolabel]
_N与_n:_N表示观测值总数;_n表示当前的观测值序号
generate(gen):产生并命名一个新变量,且要求是未存在的; generate [type] newvar[:lblname] =exp [if] [in] [, before(varname) |
after(varname)]
replace:改变一个已有变量数据; replace oldvar =exp [if] [in] [, nopromote]
sort:排序,sort varlist [in] [, stable]
gsort:只产生升序排序;gsort [+|-] varname [[+|-] varname ...] [, generate(newvar) mfirst]
if exp:条件命令;ex:gen n = x if pop>500()新建一个n变量,当变量pop的值大于500时n时将x的值赋予n,若不满足条件则为缺失值 注:x与pop已经存在)这里的“pop>500”就是exp
lables:给变量添加标签
notes:给变量添加注释
*:通配符,*pop表示以“pop”结尾的所有变量名(已存在),如smallpop,largepop都属于
drop: 删除变量,drop varlist
keep:保留变量,keep varlist
rename:重命名,rename old_varname new_varname
renpfix:重命名多个变量,renpfix income inc,(把incom80与income81改为inc80和inc81),其中的incom和inc都只是变量的一部分前缀
save:保存数据,一般操作的修改都只是在内存上,save可将数据保存到硬盘,下次亦可使用
⑵ stata描述性统计命令是什么
stata描述性统计命令是一套提供其使用者数据分析、数据管理以及绘制专业图表的完整及整合性统计软件。它拥有很多功能,包含线性混合模型、均衡重复反复及多项式普罗比模式。用Stata绘制的统计图形相当精美。
“描述性统计是一种汇总统计,用于定量描述或总结信息集合的特征”。从这个定义,我们不难看出,描述性统计包含两个重要的特征,描述和总结。
通常情况下,我们把描述性统计分为两大类:离散趋势和集中趋势,两种分类。
Stata的操作:
第一种方法,输入stata命令: summarize
summarize后可以跟具体变量的名称,如果不跟变量名称,则默认对全部变量进行描述性分析,两种结果如下:
(1)输入命令:summarize,得到全部变量的描述性统计结果。
(2)输入命令:summarize price mpg rep78 headroom,得到部分变量的描述性统计结果。如下图所示。
处理数据经验是最好能用stata的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。
这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在stata窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出现“bringdo-fileeditortofront”,点击它就会出现do文件编辑器。
⑶ Stata 函数大全
abs(x) 绝对值 abs(-9)=9
comb(n,k) 从n中取k个的组合 comb(10,2)=45
exp(x) 指数 exp(0)=1
fill() 自动填充数据
int(x) 取整 int(5.6) = 5, int(-5.2) = -5.
ln(x) 对数 ln(1)=0
log10(x) 以10为底的对数 log10(1000)=3
mod(x,y) = x - y*int(x/y) mod(9,2)=1
round(x) 四舍五入 round(5.6)=6
sqrt(x) 开方 sqrt(16)=4
sum(x) 求和
uniform() 均匀分布随机数
invnormal(uniform()) 标准正态分布随机数
real(s) 字符型转化为数值型
string(n) 数值型转化为字符型
substr(s,n1,n2) 从S的第n1个字符开始,截取n2个字符 Substr(“this”,2,2)=is
word(s,n) 返回s的第n个字符 Work(“this”,3)=i
char(n) 返回字符的ASCII码
indexnot(s1,s2) 返回s1中第一个在s2中找不到的字母的位置,若s1所有的字母在s2中均可以找到,则返回0
例如:indexnot("12disxl","2fsd1")=4 indexnot("12disxl","2fsd1ixs")=7
indexnot("12disxl","2fsd1lixs")=0
itrim(s) 将字符间多于一个空格缩减为一个空格
例如:itrim("hello there") = "hello there"
length(s) 返回字符串s的长度
例如:length("ab") = 2
lower(s) 将s中的字母变为xiaoxie
例如:lower("THIS") = "this"
ltrim(s) 将字符串s中首字母之前的空格去掉
例如:ltrim(" this") = "this"
plural(n,s) or plural(n,s1,s2)如果n!=+/-1, plural(n,s)就是将"s"加到s后。如果s2前有"+",表示将s2加到s1后,如果s2前为"-",则返回s1中去掉s2 字符串后剩下的字符串。如果s2前既没有"+"也没有"-",则plural(n,s1,s2)=s2.
例如:plural(1, "horse") = "horse"
plural(2, "horse") = "horses"
plural(2, "glass", "+es") = "glasses"
plural(1, "mouse", "mice") = "mouse"
plural(2, "mouse", "mice") = "mice"
plural(2, "abcdefg", "-efg") = "abcd"
proper(s) 将首字母大写,而且将紧接着非字母字符后的字母大写,其他的字母小写
例如:proper("mR. joHn a. sMitH") = "Mr. John A. Smith"
proper("jack o'reilly") = "Jack O'Reilly"
proper("2-cent's worth") = "2-Cent'S Worth"
real(s) 将s字符串转化为数字后返回,或返回“.”
例如:real("5.2")+1 = 6.2
real("hello") = .
reverse(s) 将字符串颠倒过来
例如:reverse("hello") = "olleh"
rtrim(s) 去掉字符串末尾的空格
例如:rtrim("this ") ="this".
string(n) 将数字n转化为字符串
例如: string(4)+"F" = "4F"
string(1234567) = "1234567"
string(12345678) = "1.23e+07"
string(.) = "."
string(n,s) 将数字n转化为字符串
例如:string(4,"%9.2f") = "4.00"
string(123456789,"%11.0g") = "123456789"
string(123456789,"%13.0gc" = "123,456,789"
string(0,"%td") = "01jan1960"
string(225,"%tq") = "2016q2"
string(225,"not a format") = ""
strmatch(s1,s2) s2与s1的形式相同则返回1,否则返回0
例如:strmatch("17.4","1??4")=1 在s2中?代表此处有一个字符,*表示0或更多的字符
• strpos(s1,s2) s2在s1中第一次找到的位置,否则为0
例如:strpos("this","is") = 3
strpos("this","it") = 0
subinstr(s1,s2,s3,n) 返回s1,将s1中第n次出现s2时的s2替换成s3 ,若n为”.”,则将所有s1中的s2字符串替换成s3
例如:subinstr("this is this","is","X",1) = "thX is this"
subinstr("this is this","is","X",2) = "thX X this"
subinstr("this is this","is","X",.) = "thX X thX"
substr(s,n1,n2) 返回s1的子集,从s1中第n1个字符开始抽取,抽n2个字符
例如: substr("abcdef",2,3) = "bcd"
substr("abcdef",-3,2) = "de"
substr("abcdef",2,.) = "bcdef"
substr("abcdef",-3,.) = "def"
substr("abcdef",2,0) = ""
substr("abcdef",15,2) = ""
trim(s) 将字符串s的首字母之前和末尾的空格去掉
例如:trim(" this ") ="this"
upper(s) 将字符串s中的字母变为大写
例如:upper("this") ="THIS"
word(s,n) s中第n个单词
例如:word("glass tass a td",2)=tass
word("glass tass a td",.)=.
wordcount(s) s中单词数
例如:wordcount("glass tass a td")=4
_n 当前观察值的序号
_N 共有多少观察值
_pi π
Abs(x) x的绝对值
Acos(x) 反余弦函数
Asin(x) 反正弦函数
Atan(x) 反正切函数
atanh(x) 反双曲正切函数
ceil(x) 返回大于或等于自变量的最小的整数。
Floor(x) 返回小于或等于自变量的最大的整数
Int(x) 返回自变量的整数部分
Round(x,y) 返回与y的单位最接近的数x,x为真数,y为近似单位
例如:round(5.2,1)= round(4.8,1)=5 round(2.234,0.1)=2.2 round(2.234,0.01)=2.23
cloglog(x) 返回ln{-ln(1-x)}的值
comb(n,k) 从n中取k个的组合,即comb(n,k)=n!/{k!(n - k)!}
例如:comb(10,5)=252 comb(6,2)=15
cos(x) 余弦函数
digamma(x) 返回digamma函数值,这是lngamma(x)的一阶导数
exp(x) 指数函数
invcloglog(x) 返回invcloglog(x) = 1 - exp{-exp(x)}的值
ln(x) 自然对数函数
lnfactorial(n) 返回N阶乘的自然对数,即lnfactorial(n)= ln(n!) ,计算n!时用round(exp(lnfactorial(n)),1)函数保证得出的结果是一个整数。求n的阶乘的对数比单纯求阶乘更有用,因为存在溢出值问题。
lngamma(x) 返回.gamma函数的自然对数
log10(x) 以10为底对数函数
logit(x) 返回logit函数值 logit(x)= ln{x/(1-x)}
max(x1,x2,...,xn) 求x1, x2, ..., xn中的最大值
min(x1,x2,...,xn) 求x1, x2, ..., xn中的最小值
例如:min(1,2,3)=3
mod(x,y) 求x除以y的余数, 即mod(x,y) = x - y*int(x/y)
reldif(x,y) 返回x,y的相对差异值,reldif(x,y)= |x-y|/(|y|+1).如果x和y都是相同类型的缺失值,则返回0;如果只有一个为缺失值或x、y为不同类型的缺失值,则返回缺失值。
sign(x) 求x的符号,如果为负数,则返回-1;如果为0,则返回0;如果为正数,则返回1;如果是缺失值,则返回缺失值
sin(x) 正弦函数
sqrt(x) 求x的平方根,x只能为非负数
例如:sqrt(100)=10
sum(x) 返回x的和,将缺失值看成是0
tan(x) 正切函数
tanh(x) 双曲正切函数
trigamma(x) 返回lngamma(x)的二阶导数
trunc(x) 将数据截为特定的长度
• betaden(a,b,x) 返回β分布的概率密度,a,b为参数,如果x < 0或者 x > 1,返回0
• binomial(n,k,p) n次贝努里试验,取得成功次数小于或等于k次的概率,其中一次p为事件成功的概率 若k<0 返回1 ;若k>n 返回0
• binomialtail(n,k,p) n次贝努里试验,取得成功次数大于或等于k次的概率,其中一次p为事件成功的概率 若k<0 返回1 ;若k>n 返回0
• binormal(h,k,r) 返回自由度为n的卡方的分布,chi2(n,x) = gammap(n/2,x/2)。若x<0 ,则返回0
• chi2tail(n,x) chi2tail(n,x) = 1 - chi2(n,x)。若x<0 ,则返回1
• dgammapda(a,x) 返回gammap(a,x)分布函数关于a的偏微分,a>0. 若x<0 ,则返回0
• dgammapdada(a,x) 返回gammap(a,x)分布函数关于a的二阶偏微分,a>0. 若x<0 ,则返回0
• dgammapdadx(a,x) 返回gammap(a,x)分布函数关于a和x的二阶偏微分,a>0. 若x<0 ,则返回0
• dgammapdx(a,x) 返回gammap(a,x)分布函数关于x的偏微分,a>0. 若x<0 ,则返回0
• dgammapdxdx(a,x) 返回gammap(a,x)分布函数关于x的二阶偏微分,a>0. 若x<0 ,则返回0
• F(n1,n2,f) 返回分子自由度为n1,分母自由度为n2的F分布函数。若f<0 ,则返回0
• Fden(n1,n2,f) 分子自由度为n1,分母自由度为n2的F分布函数的概率密度函数。若f<0 ,则返回0
• gammap(a,x) gamma分布
• ibeta(a,b,x) β分布
• normal(z) 正态分布函数
• normalden(z) 标准正态分布密度函数
• tden(n,t) t分布的概率密度函数
• date(date, mask) 返回date与1960年1月1日相距的天数,其中mask的形式为“MDY”或“YMD”或“DMY”,表示date中年月日的顺序
• weekly(date, mask) 返回date与1960年1月1日相距的星期数
• monthly(date, mask) 返回date与1960年1月1日相距的月数
• quarterly(date, mask) 返回date与1960年1月1日相距的季度数
• halfyearly(date, mask) 返回date与1960年1月1日相距的星期数
• yearly(date, mask) 返回date与1960年1月1日相距有多少个半年
• clock(date, mask) 返回date与1960年1月1日相距的秒数
• mdyhms(M, D, Y, h, m, s) 从年月日,小时,分钟,秒得到stata日期时间值
• dhms(td, h, m, s) 从日期,小时,分钟,秒得到stata日期时间值
• hms(h, m, s) 从小时,分钟,秒返回一个stata日期时间值
• mdy(M, D, Y) 从月,日,年中得到一个stata日期值
• yw(Y, W) 从年,星期得到一个stata日期值,表示距1960年1月1日有多少个星期
• ym(Y, M) 从年,月得到一个stata日期值,表示距1960年1月1日有多少个月
• yq(Y, Q) 从年,季度得到一个stata日期值,表示距1960年1月1日有多少个季度
• yh(Y, H) 从年,半年得到一个stata日期值,表示距1960年1月1日有多少个半年
• year(d) 从stata日期中得到年份
• month(d) 从stata日期中得到月份
• day(d) 从stata日期中得到当前日期(一个月内的日期)
• doy(d) 从stata日期中得到当前日期(一年内的日期)
• quarter(d) 从stata日期中得到当前季度
• week(d) 从stata日期中得到当前星期
• dow(d) 从stata日期中得到当前星期几,其中 0为星期天,3为星期三
例:请算算你活了多少天?示例:一个生于1975 年12 月27 日的家伙,他活了?
.di date(“1975/12/27”,”YMD”)
⑷ stata软件中,命令d,tab,sum起什么作用,请根据课堂提供的数
‘tab'即‘tabulate'是将所选数据表格化,
'sum'即‘summarize'是你所选数据variable的简单分析包括平均数mean,标准差standard deviation,最小值min和最大值max。
⑸ stata保留整数
stata整数保留两位有效数字意思是Stata点。
我来做下面的计算,因为题目当中的这一串数字,他所代表的如果一个数字,那么要保留两位有效数字,只需要在它的后面加上小数点,小数点的后面加上两位数字,用数学补位法就是补上两个零即可,所以就表示写作文是用stat 1.00表示,这样来表示stata整数,保留两位有效数字
⑹ 如何在stata的命令窗口里写求最大值最小值平均值同时显示的命令
1、首先,安装并打开Stata软件,如下图所示。
⑺ 请问STATA里sort,tsset的指令是什么意思
sort指令是STATA数据库的维护的排序指令。tsset是定义数据是一个时间序列数据。如果想对数据文件定义year为时间变量,则输入命令:tsset year。
Stata 是一套提供其使用者数据分析、数据管理以及绘制专业图表的完整及整合性统计软件。它提供许许多多功能,包含线性混合模型、均衡重复反复及多项式普罗比模式。
(7)取整命令stata扩展阅读
统计功能
Stata的统计功能很强,除了传统的统计分析方法外,还收集了近20年发展起来的新方法,如Cox比例风险回归,指数与Weibull回归,多类结果与有序结果的logistic回归,Poisson回归,负二项回归及广义负二项回归,随机效应模型等。具体说, Stata具有如下统计分析能力:
数值变量资料的一般分析:参数估计,t检验,单因素和多因素的方差分析,协方差分析,交互效应模型,平衡和非平衡设计,嵌套设计,随机效应,多个均数的两两比较,缺项数据的处理,方差齐性检验,正态性检验,变量变换等。
分类资料的一般分析:参数估计,列联表分析 ( 列联系数,确切概率 ) ,流行病学表格分析等。
等级资料的一般分析:秩变换,秩和检验,秩相关等
相关与回归分析:简单相关,偏相关,典型相关,以及多达数十种的回归分析方法,如多元线性回归,逐步回归,加权回归,稳键回归,二阶段回归,百分位数 ( 中位数 ) 回归,残差分析、强影响点分析,曲线拟合,随机效应的线性回归模型等。
其他方法:质量控制,整群抽样的设计效率,诊断试验评价, kappa等。