【发布时间】:2014-01-16 23:01:29
【问题描述】:
我有一个小问题。
我正在学习 SAS,遇到了dsd= 选项。
有人知道这是什么意思吗?它可能有助于记忆/情境化。
谢谢。
【问题讨论】:
标签: sas
我有一个小问题。
我正在学习 SAS,遇到了dsd= 选项。
有人知道这是什么意思吗?它可能有助于记忆/情境化。
谢谢。
【问题讨论】:
标签: sas
DSD 代表分隔符敏感数据。
infile 语句中的 DSD(分隔符敏感数据)为您做了三件事。 1:忽略引号中的数据值中的分隔符; 2:它忽略引号作为数据的一部分; 3:将连续的两个分隔符视为缺失值。
来源:easy sas
【讨论】:
而不仅仅是从互联网上复制和粘贴文本。我会尝试更清楚地解释它。与分隔符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,它将作为无效数据返回。
【讨论】:
【讨论】:
DSD(分隔符敏感数据)
指定当数据值用引号引起来时, 值中的分隔符被视为字符数据。渠务署 当您使用 LIST 输入和 将默认分隔符设置为逗号。当您指定 DSD、SAS 将两个连续的分隔符视为缺失值并删除 字符值中的引号。
http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000146932.htm
【讨论】: