【问题标题】:In SAS, what does the option "dsd" stand for?在 SAS 中,选项“dsd”代表什么?
【发布时间】:2014-01-16 23:01:29
【问题描述】:

我有一个小问题。

我正在学习 SAS,遇到了dsd= 选项。

有人知道这是什么意思吗?它可能有助于记忆/情境化。

谢谢。

【问题讨论】:

    标签: sas


    【解决方案1】:

    DSD 代表分隔符敏感数据。

    infile 语句中的 DSD(分隔符敏感数据)为您做了三件事。 1:忽略引号中的数据值中的分隔符; 2:它忽略引号作为数据的一部分; 3:将连续的两个分隔符视为缺失值。

    来源:easy sas

    【讨论】:

    • 谢谢,这回答了关于 DSD 所指字符的问题。我正在寻找一种方法来记住这一点,这会有所帮助。
    【解决方案2】:

    而不仅仅是从互联网上复制和粘贴文本。我会尝试更清楚地解释它。与分隔符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 代表分隔符敏感数据。
    • 谢谢!这就是我想知道的。让我想起那些经典歌词,“我想要的只是百事可乐!”
    【解决方案3】:

    DSD 是指在缺少数据时具有背靠背分隔符的分隔数据文件。过去,创建分隔文件的程序总是为丢失的数据设置空白。然而,今天,PC 软件不加空格,这意味着分隔符没有分开。 INFILE 语句的 DSD 选项告诉 SAS 注意这一点。下面是示例(使用逗号分隔值)来说明:

    Old Way:    5,4, ,2, ,1    ===> INFILE 'file' DLM=',' ... etc
    New Way:    5,4,,2,,1     ===>  INFILE 'file' DLM=',' DSD ... etc.
    

    Refer

    reference

    【讨论】:

    • 伙计,你基本上只是从这里复制并粘贴了所有内容:studysas.blogspot.com/2008/08/…,而没有提及引用。因此,您的链接不正确,因为它没有反映您获得信息的正确来源。
    【解决方案4】:

    DSD分隔符敏感数据

    指定当数据值用引号引起来时, 值中的分隔符被视为字符数据。渠务署 当您使用 LIST 输入和 将默认分隔符设置为逗号。当您指定 DSD、SAS 将两个连续的分隔符视为缺失值并删除 字符值中的引号。

    http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000146932.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 2013-08-13
      • 2011-07-19
      • 2012-09-08
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多