首页 > 编程知识 正文

SAS输入数据:从基础使用到高级操作的全方位指南

时间:2023-11-20 22:28:28 阅读:289793 作者:NDOE

本文将从基础使用到高级操作,从多个方面详细阐述SAS输入数据的使用方法,此篇文章适合于已经有一定基础的用户学习使用。

一、数据读取

数据读取是SAS输入数据的一项基本功能,SAS支持多种文件格式的读取,包括CSV、Excel、文本、SAS数据集等等。

1. CSV文件读取

/*指定文件路径和文件名*/
filename mycsv '/myfolder/myfile.csv';

/*定义文件格式*/
proc import datafile=mycsv 
     out=mycsv 
     dbms=csv 
     replace;
     getnames=yes; /*文件中第一行为列名*/
run;

2. Excel文件读取

/*指定文件路径和文件名*/
filename myexcel '/myfolder/myfile.xlsx'; 

/*定义文件格式*/
proc import datafile=myexcel 
     out=mydata 
     dbms=xlsx 
     replace;
     sheet='Sheet1'; /*指定读取的sheet*/
     getnames=yes; /*文件中第一行为列名*/
run;

二、数据合并

SAS提供了多种数据合并方式,包括按列合并、按行合并、SQL合并等等,以下为几个示例:

1. 按列合并

/*通过merge语句,按照指定列合并两个数据集*/
data merged;
     merge dataset1(in=a) dataset2(in=b);
     by id;
     if a and b;
run;

2. 按行合并

/*通过set语句,将两个数据集按行合并*/
data merged;
     set dataset1 dataset2;
run;

三、数据清洗

数据清洗是数据分析的一项重要步骤,SAS提供了多种清洗数据的函数和操作。

1. 缺失值处理

利用该函数可以处理缺失数据,如填补或删除缺失数据等。

/*去除含有缺失数据的记录*/
data nonmiss;
     set dataset;
     if missing(age) or missing(gender) or missing(income);
run;

2. 数据重编码

数据重编码是将某一变量的取值进行排列。SAS通过多种操作实现数据重编码。

/*通过map语句,进行数据重编码*/
data gender_code;
     set dataset;
     if gender='Male' then gender_code=1;
     if gender='Female' then gender_code=2;
run;

四、数据转换

数据转换是将原数据进行加工汇总,转换成更好的数据透视,类似于Excel中的数据透视表。

1. proc transpose

该函数是将数据透视,即将以列形式保存的数据转换为以行形式保存的数据。

/*通过proc transpose,实现数据透视*/
proc transpose data=dataset
     out=dataset_t
     name=age_group;
     var income;
     by gender;
run;

2. proc means

该函数是产生数据总结结果,如平均值、最大值、最小值、中位数等。

/*通过proc means,得到数据的总结结果*/
proc means data=dataset;
     var income;
     class gender;
run;

通过以上示例,我们详细介绍了SAS输入数据的基本使用,包括数据读取、数据合并、数据清洗以及数据转换。以上示例对SAS用户进行编程时,将具有很好的参考意义。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。