⑴ 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等。