首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试将此txt数据集读入SAS时遇到困难

尝试将此txt数据集读入SAS时遇到困难
EN

Stack Overflow用户
提问于 2019-02-18 05:23:11
回答 3查看 49关注 0票数 0

这就是数据集。我需要一个变量的ShipID,接收,发货,城市,邮政编码。我该怎么做呢?

这是我的第一门统计编程语言课程,我正在努力。我的教授也帮不上什么忙。

代码语言:javascript
运行
复制
ShipID  Received   Shipped   Address .   
 X8742 2018/03/14 2018/03/17 Little River, KS, 67457

还有更多的台词,我已经迷失了一个小时了。

代码语言:javascript
运行
复制
infile "/home/rossfosher0/SAS Homework/SAS Sessions/WarehouseA.txt" firstobs = 2;    
input  @2-7 ShipID $ @9-18 Received: YYYYMMDD8.  @20-28 Shipped: YYYYMMDD8. @City $;    
run;

我正在试着为这个仓库设置一个数据集。

EN

回答 3

Stack Overflow用户

发布于 2019-02-18 06:35:48

代码语言:javascript
运行
复制
data mydata;   
   input @1 shipid $  @7 received yymmdd10. @18 shipped yymmdd10.  @28 address $30.;   
   format received yymmdd10. shipped yymmdd10.;
datalines;
X8742 2018/03/14 2018/03/17 blue ridge, MA 02391
;
run;
票数 0
EN

Stack Overflow用户

发布于 2019-02-18 08:48:44

假设所有行都有前三个变量的值,您可以使用列表模式输入来读取这些值。然后将该行的其余部分读取为地址。

代码语言:javascript
运行
复制
data want;
  infile "..." firstobs=2 truncover;
  input shipid $ received shipped address $50. ;
  informat received shipped yymmdd.;
  format received shipped yymmdd10.;
run;

如果数据确实在固定的列中,那么您可以在INPUT语句中使用列位置,但这与使用informats不兼容。因此,要么对这两个日期字段使用格式化输入,要么将它们作为字符串读取。

代码语言:javascript
运行
复制
input shipid $1-7 @8 Received yymmdd10. @19 Shipped yymmdd10. Address $ 30-79 ;
format Received Shipped yymmdd10.;
票数 0
EN

Stack Overflow用户

发布于 2019-02-18 16:00:42

汤姆和DCR都是对的。我更喜欢使用Proc import的更简单的路线。

代码语言:javascript
运行
复制
 proc import datafile='c:\personal\My_file.csv' 
    out=SAS_data replace;
    DELIMITER=";" ;
    getnames=yes;
    guessingrows= 32767;
 run;

它所做的是根据读取的文件进行猜测,并自动创建infile-statement。(我只是从日志中复制它,并在读取错误的情况下进行调整。)

如果你知道数据的结构,遵循其他答案,但这是更适合初学者的方法。有关更多信息,请参阅documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54737819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档