簡體   English   中英

復制帶有其值標簽的分類變量

[英]Copy a categorical variable with its value labels

是否可以在一行中復制帶標簽的類別變量,還是我通常必須在一個單獨的步驟上復制標簽?

在我正在查看的情況下, egen ... group()接近,但更改了基礎整數:

sysuse auto

** starts them from different indices
egen mycut = cut(mpg), at(0 20 30 50) label icodes
egen mycut_copy = group(mycut), label

** does weird stuff
egen mycut2 = cut(mpg), at(0 20 30 50) label icodes
replace mycut2 = group(mycut2)
egen mycut_copy2 = group(mycut2), label

** the correct approach?
gen mycut3 = cut(mpg), at(0 20 30 50) label icodes
gen mycut_copy3 = mycut3
label values mycut_copy3 mycut3

您可以使用鮮為人知的clonevar命令輕松完成clonevar

sysuse auto, clear

egen mycut = cut(mpg), at(0 20 30 50) label icodes
clonevar mycut2 = mycut

list mycut* in 1/10, separator(0)

     +----------------+
     | mycut   mycut2 |
     |----------------|
  1. |   20-      20- |
  2. |    0-       0- |
  3. |   20-      20- |
  4. |   20-      20- |
  5. |    0-       0- |
  6. |    0-       0- |
  7. |   20-      20- |
  8. |   20-      20- |
  9. |    0-       0- |
 10. |    0-       0- |
     +----------------+

請注意,在與generateegen一起使用時, group()指的是不同的函數,這就是為什么您無法獲得相同結果的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM