【发布时间】:2018-08-31 05:07:37
【问题描述】:
我有两个内容相同的数据集,但一个是制表符分隔的格式,另一个是空格分隔的格式。
我有三个我无法弄清楚的问题,想寻求帮助。任何建议将不胜感激。
首先我用TextWrangler打开了这两个数据集,感觉用空格分隔的数据集是指数据集之间用空格隔开,每一行的观测值都在同一个位置。 另一方面,我对制表符分隔的数据集的理解是,由空格分隔的数据集和空格可能不需要变量的每一行具有相同的宽度。我的理解正确吗?我很难区分它们。
其次,我正在打印上面提到的降雪数据集,从第 5 行到第 122 行,数据集中的“T”值必须 转换为 0。
我的降雪数据的空格分隔文件的代码如下, 我的问题是关于它的日志。有很多关于“T”的警告,但我没有收到任何错误。
我应该担心这里提到的警告
"第 (i) 个月的无效数据在行..."
* Trying Space-Delimited data set;
OPTIONS Errors=200;
DATA SASWEEK.SnowSpace;
DROP i MyTot diff;
INFILE "&dirLSB.RochesterSnowfallSpace.txt" FIRSTOBS= 2 OBS= 122;
INPUT Season $ Sep Oct Nov Dec Jan Feb Mar Apr May Total ;
ARRAY Month(10) Sep -- Total;
DO i = 1 TO 10 ;
IF Month(i) = . THEN Month(i) = 0 ;
MyTot = sum (of Sep -- May);
diff = round (MyTot-Total, 3);
IF diff ne 0 THEN PUT "**ERROR" MyTot= Total= diff= ;
END;
PROC PRINT DATA=sasweek.snowspace;
TITLE "Rochester Snowfall in Space-Delimited format";
RUN;
我的一位教授建议我应该将每月的降雪作为“角色”。所以“T”不会在日志中引起警告。我不确定我是否应该这样尝试。
最后,我尝试在 xls 文件中对相同的数据集使用“Proc Import”。
数据集为link 我的代码如下:
* Trying Excel file ;
OPTIONS ERRORS=200;
OPTIONS MSGLEVEL=i;
PROC IMPORT OUT=SASWEEK.SNOWxls
DATAFILE= "&dirLSB.RochesterSnowfall.xls" DBMS=xls;
GETNAMES= no;
RANGE= "Sheet1$a5:k122" ;
PROC PRINT DATA= SASWEEK.SNOWxls;
TITLE "Rochester Snowfall in xls format";
RUN;
I received the error in the LOG saved as the HTML
我还是打印了一部分数据集,但是变量名弄乱了,输出不完整。 有什么想法吗?
感谢大家的阅读并感谢您的帮助:)
【问题讨论】:
标签: sas