我有一个简单的问题。
我正在学习SAS并遇到了dsd=
选项。
有谁知道这代表什么?它可能有助于记忆/情境化。
感谢。
答案 0 :(得分:10)
而不是仅仅从互联网上复制和粘贴文本。我会尝试更清楚地解释一下。与分隔符DLM=
一样,DSD
是可以在infile
语句中使用的选项。
假设已使用DLM=
指定了分隔符,我们使用了DSD
。如果SAS看到两个并排的分隔符或它们之间只有空白空格,那么它会将其识别为缺失值。
例如,如果文本文件dog.txt包含行:
171,255,,dog
然后,
data test;
infile 'C:\sasdata\dog.txt' DLM=',' DSD;
input A B C D $;
run;
将输出:
A B C D
171 255 . dog
因此,C
表示缺少变量.
。如果我们没有使用DSD
,它将作为无效数据返回。
答案 1 :(得分:8)
DSD (分隔符敏感数据)
指定当数据值用引号括起来时, 值中的分隔符被视为字符数据。 DSD 选项更改SAS在使用LIST输入时如何处理分隔符 将默认分隔符设置为逗号。指定DSD时,SAS 将两个连续的分隔符视为缺失值并删除 来自字符值的引号。
http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000146932.htm
答案 2 :(得分:8)
DSD代表Delimiter-Sensitive Data。
infile语句中的DSD(分隔符敏感数据)为您做了三件事。 1:它忽略用引号括起来的数据值中的分隔符; 2:它忽略了引号作为数据的一部分; 3:它将连续的两个连续分隔符视为缺失值。
来源:easy sas
答案 3 :(得分:0)