String 在Stata中列出非缺失字符串变量
我只想在Stata中显示(String 在Stata中列出非缺失字符串变量,string,stata,String,Stata,我只想在Stata中显示(list)字符串变量DE15\u WHY的值,前提是该变量没有丢失(例如,某些主题没有提供注释)。我想这很容易: list DE15_WHY if DE15_WHY != "" 这将显示所有受试者的DE15_为什么,即使他们在DE15_为什么中没有任何内容 字符串的格式是否错误?例如,Stata是否认为所有受试者对DE15\u为什么都有有效的观察?我该如何解决这个问题?我检查了,它被格式化为一个字符串变量 Stata还允许我将DE15_WHY制成表格,类似于R。这是一
list
)字符串变量DE15\u WHY
的值,前提是该变量没有丢失(例如,某些主题没有提供注释)。我想这很容易:
list DE15_WHY if DE15_WHY != ""
这将显示所有受试者的DE15_为什么
,即使他们在DE15_为什么
中没有任何内容
字符串的格式是否错误?例如,Stata是否认为所有受试者对DE15\u为什么都有有效的观察?我该如何解决这个问题?我检查了,它被格式化为一个字符串变量
Stata还允许我将DE15_WHY
制成表格,类似于R。这是一个很好的选项,但不会在表格中显示字符串变量的全部内容。如何让Stata显示整个字符串
sysuse auto
list rep78 in 1/10 if rep78 !=. # for non-missing
tab rep78 # default behaviour is to report only non-missing
tab rep78, missing # if you want also missing
如果变量是由
list yourvariable if yourvariable !="."
If变量是一个字符串,缺失由空白表示
list yourvariable if yourvariable !=""
例如:
my my1
ab 1
cd 2
3
ef 4
list my if my !=""
+----+
| my |
|----|
1. | ab |
2. | cd |
4. | ef |
+----+
选项卡
将同时处理空白和空白。就像失踪一样
如果变量是由
list yourvariable if yourvariable !="."
If变量是一个字符串,缺失由空白表示
list yourvariable if yourvariable !=""
例如:
my my1
ab 1
cd 2
3
ef 4
list my if my !=""
+----+
| my |
|----|
1. | ab |
2. | cd |
4. | ef |
+----+
选项卡
将同时处理空白和空白。就像失踪一样
@Metrics的答案有几个很好的细节,但我会在这里补充更多
对于字符串变量,Stata只有一个missing定义,即字符串为空,不包含任何字符
一个或多个空间,尽管通常不会向人们传达任何信息,但就Stata而言,不符合缺失的条件
“空白”一词在这里可能不清楚,因此最好避免使用
如果空格以某种方式进入字符串变量,则
if trim(mystring) == ""
if trim(mystring) != ""
选择空值或具有空格的值以及相应的条件,例如
if trim(mystring) == ""
if trim(mystring) != ""
选择包含其他内容的值。为了用空字符串替换空格,我们这样做
replace mystring = "" if trim(mystring) == ""
一般来说,如果您有相当长的字符串,Stata必然会遇到在何处显示它们的问题。一个提示是,列表
将显示多于表格
。如果您想要一个表格
和列表
混合,请使用SSC inst groups
从SSC检查组
尽管句点
是Stata中数值变量(或数值标量或矩阵元素)的默认值或系统缺失值,但它不会对字符串“
附加任何特殊含义 @Metrics的答案有几个很好的细节,但我会在这里补充更多
对于字符串变量,Stata只有一个missing定义,即字符串为空,不包含任何字符
一个或多个空间,尽管通常不会向人们传达任何信息,但就Stata而言,不符合缺失的条件
“空白”一词在这里可能不清楚,因此最好避免使用
如果空格以某种方式进入字符串变量,则
if trim(mystring) == ""
if trim(mystring) != ""
选择空值或具有空格的值以及相应的条件,例如
if trim(mystring) == ""
if trim(mystring) != ""
选择包含其他内容的值。为了用空字符串替换空格,我们这样做
replace mystring = "" if trim(mystring) == ""
一般来说,如果您有相当长的字符串,Stata必然会遇到在何处显示它们的问题。一个提示是,列表
将显示多于表格
。如果您想要一个表格
和列表
混合,请使用SSC inst groups
从SSC检查组
尽管句点
是Stata中数值变量(或数值标量或矩阵元素)的默认值或系统缺失值,但它不会对字符串“
附加任何特殊含义 此外,条件if trim(my)==“
将捕获字符串变量my
中一个或多个空格的情况。对于字符串变量,缺失表示为空,反之亦然。>选项卡
将空白和
视为缺失
我想补充一点:。。。当变量分别为字符串和数字时。这让我有点困惑,因为有一分钟我认为
可能代表字符串类型的缺失。不过,谢谢@Metrics!=”“还有“.”产生同样的结果。所有的主题都会显示出来,有空白的和有字符串值的,而不是你在例子中得到的整洁的输出。那么,如何让tab显示字符串的全部内容呢?它会被截断到某个长度?没问题。在这种情况下,您需要提供示例数据,以便我们可以测试我们的代码。优秀@NickCox-当您的代码用作:list DE15_WHY if trim(DE15_WHY)!=”“行!此外,条件if trim(my)==“
将捕获字符串变量my
中一个或多个空格的情况。对于字符串变量,缺失表示为空,反之亦然。>选项卡
将空白和
视为缺失
我想补充一点:。。。当变量分别为字符串和数字时。这让我有点困惑,因为有一分钟我认为
可能代表字符串类型的缺失。不过,谢谢@Metrics!=”“还有“.”产生同样的结果。所有的主题都会显示出来,有空白的和有字符串值的,而不是你在例子中得到的整洁的输出。那么,如何让tab显示字符串的全部内容呢?它会被截断到某个长度?没问题。在这种情况下,您需要提供示例数据,以便我们可以测试我们的代码。优秀@NickCox-当您的代码用作:list DE15_WHY if trim(DE15_WHY)!=”“行!