Stata/資料管理
外觀
< Stata
通常,資料使用 use 命令載入到記憶體中。clear 選項確保記憶體中的當前資料庫將被刪除,而不會儲存最後的更改。
use "W:\Data\…\table.dta" , clear
cd 命令允許指定工作目錄,並簡化將表載入到記憶體中的操作。
cd "W:\Data\" use table, clear
Stata9 使用者可以使用 use10 命令匯入 Stata10 資料集。
use10 table, clear
一些示例資料集儲存在 Stata 目錄中。它們可以使用 sysuse 命令載入到記憶體中。
. sysuse cancer, clear . sysuse smoking, clear . sysuse auto, clear . sysuse jspmix, clear
您可以使用 insheet 匯入逗號分隔值 (CSV) 格式。
insheet using "W:\Data\…\table.csv", delim(";")
- 'webuse' 用於網際網路資料
- 'xmluse' 用於 xml 檔案
- 'infile' 用於文字檔案
- 'input' 用於從鍵盤輸入資料
- 'infix'
- 'fdause' 用於 SAS xport 資料
- 如果這些命令都不起作用,您可以使用 Stat/Transfer
- FTRANS:用於批次轉換檔案格式的模組
- save
save table, replace
如果您使用 Stata10,可以使用 saveold 匯出到 Stata9 格式。
saveold table, replace
- outsheet : 匯出到製表符分隔或 csv 格式。
outsheet using "W:\Data\…\table.csv", replace comma
另請參閱
- outfile
- xmlsave
- fdasave
標準 Stata 命令是 merge。但是,使用者編寫的命令 mmerge 更安全,並提供更好的輸出。可以使用 ssc install mmerge 命令或 findit mmerge 命令安裝此命令。
- dmerge
- joinby 合併資料集之間所有可能的配對
- append 如果您有兩個具有相同變數但不同觀測值的資料集,可以使用 append 命令建立一個數據集。
use data_1, clear append data_2 br
- des
- des, s
- codebook
- codebook2
- tabmiss
- npresent
- nmissing
可以使用 mvencode 命令將缺失值轉換為值。
mvencode exg ga dvg verts eco dr dvd fn reg mnr div, mv(0) override
通常,您需要將變數從字串轉換為數值格式。有幾種方法可以做到這一點。如果您在字串變數中已經擁有數值,則應使用 destring。否則,您應使用 encode 命令。Encode 將自動建立一個數值變數,並將使用先前變數的字串值作為值標籤。
- gen
- egen
- replace
- recode
- drop
- keep
- rename
'vallist' 給出 Stata 中分類變數的所有類別的列表。
vallist codep
- lab var
- lab list
- lab define
- lab value
- 您可以使用 expand 命令擴充套件資料集(即按給定因子將觀測值乘以)。
這對於生成面板資料模型很有用。在第一個示例中,我們在標準正態分佈中繪製 10 個觀測值,並將每個觀測值複製一次。
clear set obs 10 gen u = invnorm(uniform()) expand 2 sort u br
也可以將整數變數作為引數傳遞給 expand。
clear set obs 10 gen u = uniform() gen var = 1 + int(10 * uniform()) expand var sort u br
clear set obs 10 gen u = invnorm(uniform()) expandcl 2 , gen(cl)
Stata 中的所有數值型別都是普通的“帶符號”量,除了最高的 27 個值保留用於“缺失”型別(., .a, .b, ..., .z)。每個變數的儲存大小如下
| 變數 | 大小(以位元組為單位) |
|---|---|
| byte | 1 |
| int | 2 |
| long | 4 |
| float | 4 |
| double | 8 |
| string | 每個字母 1 個(因此只有 ASCII 字元,而不是完整的 Unicode/UTF-8) |