您當前的位置:首頁 > 攝影

stata如何縮尾?

作者:由 fgzfgz 發表于 攝影時間:2022-10-14

stata如何縮尾?fgzfgz2022-10-14 07:35:11

在調查資料中,常常會遇到有極端值的情況,縮尾和結尾是兩種很普遍的處理極端值的做法。以1%和99%雙側縮尾/截尾為例:

縮尾:將大於99%分位數的取值,替換為99%分位數取值;將小於1%分位數的取值,替換為1%分位數取值。

截尾:將大於99%分位數或小於1%分位數的取值,替換為缺失值。

使用縮尾還是截尾,應根據資料情況和研究的具體問題選擇。

一、基本語法

winsor2 varlist [if] [in], [suffix(string) replace trim cuts(# #) by(groupvar) label]

/* Note: suffix(string) 表示縮尾和截尾後生成新變數的字尾,預設是“_w”(縮尾)和“_tr”(截尾);

replace 表示不生成新變數,縮尾或截尾後的數值替換當前變數數值;

trim 表示截尾,不新增該 option,則預設是縮尾;

cut(# #) 表示縮尾或截尾的百分位數;

by(groupvar) 表示分組變數;

label 表示在變數標籤中註明:(1)縮尾/截尾; (2)縮尾/截尾的百分位數。 */

二、示例

** 1%、99%縮尾:將小於1%百分位數和大於99%百分位數的數值分別替換為1%、99%分位數數值

winsor2 x,cut(1 99) //新變數名預設是x_w

** 1%、99%截尾:將小於1%百分位數和大於99%百分位數的數值分別替換缺失值“。”

winsor2 x,cut(1 99) trim //新變數名預設是x_tr

/* winsor2 圖示:

+——————————+

No | x x_w x_tr |

|——————————|

1 | 。02 。33 。 |

2 | 。33 。33 。33 |

3 | 。64 。64 。64 |

4 | 1。5 1。5 1。5 |

… | … … … |

98 | 136 136 136 |

99 | 321 321 321 |

100 | 450 450 450 |

101 | 687 450 。 |

+——————————+ */

** 根據 Province 分組,在1%和99%分位數處雙側縮尾/截尾,並替換原來的變數(不生成新變數)

winsor2 x,cut(1 99) by(Province) replace //縮尾

winsor2 x,cut(1 99) by(Province) trim replace //截尾

三、樣本刪除/保留

keep 和 drop 也可以用於樣本的管理(樣本刪除與保留):

drop if select==0 //刪除 select 取值為0的樣本

keep if select==1 //保留 select 取值為1的樣本

這裡需要用到 IF 條件的用法,點選下面連結可以檢視:

Stata IF條件用法1 贊同 · 0 評論文章

標簽: 截尾  縮尾  1%  99%  位數