Variables 创建虚拟变量时忽略缺少的值
当变量Variables 创建虚拟变量时忽略缺少的值,variables,stata,dummy-variable,Variables,Stata,Dummy Variable,当变量pax高于100或0时,如何在Stata中创建一个取1值的虚拟变量? 缺少的值应标记为0 我的代码如下: generate type = 0 replace type = 1 if pax > 100 问题是Stata将所有缺失值标记为1,而不是将其保留为0,这是因为Stata将缺失值视为较大的正值。因此,当您对pax>100的所有值(包括缺失)请求此变量时,您的变量type设置为1 可以通过明确指出不希望将缺少的值替换为1,来避免这种情况: generate type = 0 r
pax
高于100
或0
时,如何在Stata中创建一个取1
值的虚拟变量?
缺少的值应标记为0
我的代码如下:
generate type = 0
replace type = 1 if pax > 100
问题是Stata将所有缺失值标记为
1
,而不是将其保留为0
,这是因为Stata将缺失值视为较大的正值。因此,当您对pax>100
的所有值(包括缺失)请求此变量时,您的变量type
设置为1
可以通过明确指出不希望将缺少的值替换为1
,来避免这种情况:
generate type = 0
replace type = 1 if pax > 100 & pax != .
考虑下面的玩具示例:
clear
input pax
20
30
40
100
110
130
150
.
.
.
end
事实上,以下语法已足够:
generate type1 = pax > 100 & pax < .
注意的用法代码>在函数之前,它告诉Stata关注非缺失值
在这两种情况下,结果相同:
list
+---------------------+
| pax type1 type2 |
|---------------------|
1. | 20 0 0 |
2. | 30 0 0 |
3. | 40 0 0 |
4. | 100 0 0 |
5. | 110 1 1 |
|---------------------|
6. | 130 1 1 |
7. | 150 1 1 |
8. | . 0 0 |
9. | . 0 0 |
10. | . 0 0 |
+---------------------+
list
+---------------------+
| pax type1 type2 |
|---------------------|
1. | 20 0 0 |
2. | 30 0 0 |
3. | 40 0 0 |
4. | 100 0 0 |
5. | 110 1 1 |
|---------------------|
6. | 130 1 1 |
7. | 150 1 1 |
8. | . 0 0 |
9. | . 0 0 |
10. | . 0 0 |
+---------------------+