美文网首页制药SAS
SAS中数据的导入

SAS中数据的导入

作者: overmoon | 来源:发表于2020-06-10 21:00 被阅读0次

SAS中数据的导入

SAS中数据导入可以有四种类别

  • 直接将数据输入SAS数据集
  • 利用原始数据文件创建SAS数据集
  • 将其他数据文件转换成SAS数据集
  • 直接读取其他软件的数据文件

建立SAS数据集的的5种方法

  • data步自己输入数据(参考第3小节)
  • data步利用 set 语句建立,从逻辑库中进行复制
  • 从外部调入,用 infile 语句,从外部导入(见第3小节)
  • 利用‘导入数据’功能建立(见第2小节)
  • 利用EFI(external file interface)功能导入,用于导入自定义格式的数据文件
*data步利用 **set** 语句建立 ;
*将uspresident赋值给abc;
data abc;
    set lianxi.uspresident;
run;
proc print;
run;

1. 使用viewtable窗口输入数据

  • 打开空的viewtable:菜单栏>工具>表编辑器
  • 设置列属性
  • 输入数据
  • 保存表:文件>另存为
  • 打开现有的表:
    • 工具>表编辑器:打开viewtable窗口
    • 文件>打开
  • 在SAS程序中使用表
* 将sasuser逻辑库中的coffee表打印出来;
proc print data = sasuser.coffee;
run;

2.使用导入向导读取文件

以导入CSV文件为例

  • 启动导入向导:菜单栏>文件>导入数据
  • 找到你的文件:standard data source选择文件格式>next>指明文件位置>next
    • 默认情况SAS使用文件的第一行作为变量名,并从第二行开始读取数据
    • 自定义读取:单击 选项 打开分隔文件选项窗口,自定义是否获取变量名,及指定从第几行开始读取数据
  • 选择SAS逻辑库和成员名称>next
    • 若选择 work 逻辑库,当退出SAS时,该数据集将被删除
    • 选择其他逻辑库,数据集将被保留
  • 最后一个窗口:选择是否将该过程中 proc import 语句保存起来
*该过程的SAS程序;
PROC IMPORT OUT= WORK.jianmo151 
            DATAFILE= "C:\Users\fzq\Desktop\cov\yuce\jianmo151.csv" 
            DBMS=CSV REPLACE;
     GETNAMES=YES;
     DATAROW=2; 
RUN;

3.指定原始数据位置

若文件为原始文件(例如文本文件),SAS也可以很方便的读取。

  • 内部原始数据(直接输入数据)
    • 使用 datalines 表明内部数据
    • datalines 语句必须是 data 步中的最后一条语句,其后的所有行都被视为数据,直到SAS遇到一个分号为止
*将内部数据读取到SAS新建的数据集uspresident;
data uspresident;
*input表示含有的变量,若后边+$,则改变量为字符型,否则为数值型;
     input president $ party $ number hight ;
     *生成一个新变量overall,变量标签为‘总和’;
     overall=number+hight;
     label overall="总和";
     datalines;
asams F 2 3
lincoln R 16 4
grant R 18 4
kennedy D 35 3
    ;

*按数据集中的某一列变量进行降序排序;
proc sort data=uspresident;
by descending overall;
run;

*输出查看,'_numeric_'表示只查看数值型变量,‘_character_’表示只查看字符型变量;
proc print data=uspresident;
var _numeric_;
title '美国总统';
run;
  • 以上数据集只是临时数据集,若把程序一句改为 data lianxi.uspresident; 则该数据集保存到 lianxi 逻辑库中,而不是默认的 WORK逻辑库,该数据集由临时数据集变为永久数据集,既退出SAS后不会被删除

  • 另外,还可以用 libname 命令创建永久数据集,格式为 libname+自建目录名(逻辑库名)+'目录地址'(逻辑库的存放位置),例 :

libname lianxi 'D:\SAS';
data lianxi.uspresident;
 input president $ party $ number hight ;
datalines;
asams F 2 3
lincoln R 16 4
grant R 18 4
kennedy D 35 3
    ;
run;
  • 外部原始文件
    • 使用 infile 语句告知SAS文件名和路径,及选项
    • infile 语句紧跟 data 语句之后,必须在 input 语句之前
    • 长记录,SAS默认外部文件中的记录长度不超过256个字符(行字符个数,包括空格),若超过了这个长度,则需要在 infile 语句中使用 lrecl= 选项
*从外部文件读取数据到SAS数据集;
data uspresidents;
     infile 'c:\mydata\president.dat' lrecl=2000;
     input president $ party $ number;
run;

4.取空格分隔的原始数据

未完待续


参考文献
The Little SAS Book,Fifth Edition.


相关文章

  • SAS中数据的导入

    SAS中数据的导入 SAS中数据导入可以有四种类别 直接将数据输入SAS数据集 利用原始数据文件创建SAS数据集 ...

  • SAS 数据导入问题

    数据的导入导出常见的需求,在我个人的成长过程中,只就SAS base、 SAS EM这两个说一下。 base导入:...

  • SAS导入外部数据

    SAS导入外部数据 成功导入外部数据是sas分析的第一步,也是最基础的一步,其重要性我就不累述。在常规工作中我们经...

  • SAS编程:如何读入外部文档数据?

    工作中有时需要将外部文本信息导入SAS数据集中进行处理,例如,将.log文档导入SAS数据集进行判断输出相关iss...

  • SAS数据的导入(2)

    混合的输入样式和读取杂乱的原始数据 1.混合的输入样式 三种主要的输入样式:列表样式、列样式和格式化样式。可以混合...

  • SAS数据的导入(3)

    每个观测分布在多行或者一行有多个观测数据的读取 1、每个观测分布在多行的数据 上期提到列指针用 @40 或者 @'...

  • SAS数据的导入(4)

    读取部分文件与 infile 选项控制 1.读取原始数据文件的一部分 这里用了两个 input 及单尾 @ 。第一...

  • 初识SAS

    在SAS中对数据的处理可分为两大步骤:1.将数据读入SAS建立的SAS数据集,称为数据步;2.调用SAS的模块处理...

  • SAS 导入Excel数据时出错,解决办法

    SAS 64位 导入ExceL数据时,出现如下错误: ERROR:连接:没有注册类 ERROR:LIBNAME语句...

  • 数据分析师 - Week13

    SAS技术 导入中文的txt数据集 把大表分开处理,减少服务器的资源消耗。

网友评论

    本文标题:SAS中数据的导入

    本文链接:https://www.haomeiwen.com/subject/pvhmtktx.html