String Stata:从一个单元格中的多个字符串项中创建一个虚拟项
我有一个看起来像这样的数据集(当然要大得多,一个单元格中最多有5个条目): 我希望它看起来像这样:String Stata:从一个单元格中的多个字符串项中创建一个虚拟项,string,stata,String,Stata,我有一个看起来像这样的数据集(当然要大得多,一个单元格中最多有5个条目): 我希望它看起来像这样: iso3 year dummy GBR 1993 0 GBR 1994 1 GBR 1995 0 USA 1993 0 USA 1994 0 USA 1995 0 FRA 1993 1 FRA 1994 0 FRA 1995 1 当然,问题是FRA。我正在考虑
iso3 year dummy
GBR 1993 0
GBR 1994 1
GBR 1995 0
USA 1993 0
USA 1994 0
USA 1995 0
FRA 1993 1
FRA 1994 0
FRA 1995 1
当然,问题是FRA
。我正在考虑编写一个字符串搜索,并在所有年份中循环,如果找到年份,则创建一个虚拟,但我不知道如何将其应用于每个iso3
类别
是否有类似于Stata中R中的
应用
函数的功能?使用拆分
、重塑
和填充
clear
input str3 iso3 str20 var
GBR "1994"
USA
FRA "1993, 1995"
end
split var, parse(",") destring generate("yr")
list
drop var
reshape long yr, i(iso3) j(junk)
generate dummy = 1
fillin iso3 yr
replace dummy = 0 if dummy==.
drop if yr==.
drop junk _fillin
list, sepby(iso3)
给我们
+---------------------+
| iso3 yr dummy |
|---------------------|
1. | FRA 1993 1 |
2. | FRA 1994 0 |
3. | FRA 1995 1 |
|---------------------|
4. | GBR 1993 0 |
5. | GBR 1994 1 |
6. | GBR 1995 0 |
|---------------------|
7. | USA 1993 0 |
8. | USA 1994 0 |
9. | USA 1995 0 |
+---------------------+
+---------------------+
| iso3 yr dummy |
|---------------------|
1. | FRA 1993 1 |
2. | FRA 1994 0 |
3. | FRA 1995 1 |
|---------------------|
4. | GBR 1993 0 |
5. | GBR 1994 1 |
6. | GBR 1995 0 |
|---------------------|
7. | USA 1993 0 |
8. | USA 1994 0 |
9. | USA 1995 0 |
+---------------------+