如何从SAS中的流内数据中读取具有不同字符长度的变量?
希望是一个简单的。 我是SAS的新手 我试图使用以下SAS代码读取数据(如课堂讲稿中所示),但由于某些字符长度问题,无法生成正确的SAS数据集。我试过了,也试过一些,但没能解决。谁能解释一下我该如何解决这个问题如何从SAS中的流内数据中读取具有不同字符长度的变量?,sas,Sas,希望是一个简单的。 我是SAS的新手 我试图使用以下SAS代码读取数据(如课堂讲稿中所示),但由于某些字符长度问题,无法生成正确的SAS数据集。我试过了,也试过一些,但没能解决。谁能解释一下我该如何解决这个问题 data SMSA_subset_weather; length city $ 27; input city & JanTemp JulyTemp RelHum Rain; datalines; Akron, OH 27 71 59 36 Albany-Schenectad
data SMSA_subset_weather;
length city $ 27;
input city & JanTemp JulyTemp RelHum Rain;
datalines;
Akron, OH 27 71 59 36
Albany-Schenectady-Troy, NY 23 72 57 35
Baltimore, MD 35 77 55 43
Allentown, Bethlehem, PA-NJ 29 74 54 44
Atlanta, GA 45 79 56 47
;
run
;
我正在按需使用SAS。当我使用dsd时,它会给我所需的输出,如下所示:
data SMSA_subset_weather;
infile datalines delimiter=" " dsd;
length city $ 27;
input city & JanTemp JulyTemp RelHum Rain;
datalines;
"Akron, OH" 27 71 59 36
"Albany-Schenectady-Troy, NY" 23 72 57 35
"Baltimore, MD" 35 77 55 43
"Allentown, Bethlehem, PA-NJ" 29 74 54 44
"Atlanta, GA" 45 79 56 47
;
run
;
我通过修改流内数据和使用dsd选项来实现这一点。但我想如果有更多这样的观察,我无法处理 城市名称或引号后需要第二个空格 当使用可能出现在数据中的分隔符时,您可以像使用一样使用
&
,要求SAS读取,直到找到两个连续的分隔符。(您还可以使用DSD
选项和引号。)
因此,这里:
data SMSA_subset_weather;
length city $ 27;
input city & JanTemp JulyTemp RelHum Rain;
datalines;
Akron, OH 27 71 59 36
Albany-Schenectady-Troy, NY 23 72 57 35
Baltimore, MD 35 77 55 43
Allentown, Bethlehem, PA-NJ 29 74 54 44
Atlanta, GA 45 79 56 47
;
run
;
或者在此处使用带引号的DSD:
data SMSA_subset_weather;
length city $ 27;
infile datalines dsd dlm=' ';
input city JanTemp JulyTemp RelHum Rain;
datalines;
"Akron, OH" 27 71 59 36
"Albany-Schenectady-Troy, NY" 23 72 57 35
"Baltimore, MD" 35 77 55 43
"Allentown, Bethlehem, PA-NJ" 29 74 54 44
"Atlanta, GA" 45 79 56 47
;
run
;
看起来(1)“dsd”和(2)“和”两种方法都有效。我想在课堂讲稿中,空格可能被省略了,或者是一些奇怪的事情,我想这对我来说是行不通的。无论如何,谢谢你的快速帮助乔。非常感谢。