- SAS教程
- SAS - 主页
- SAS - 概述
- SAS - 环境
- SAS - 用户界面
- SAS - 程序结构
- SAS - 基本语法
- SAS - 数据集
- SAS - 变量
- SAS - 字符串
- SAS - 阵列
- SAS - 数字格式
- SAS - 运营商
- SAS - 循环
- SAS - 决策
- SAS - 函数
- SAS - 输入方法
- SAS - 宏
- SAS - 日期和时间
- SAS 数据集操作
- SAS - 读取原始数据
- SAS - 写入数据集
- SAS - 连接数据集
- SAS - 合并数据集
- SAS - 数据集子集化
- SAS - 排序数据集
- SAS - 格式化数据集
- SAS-SQL
- SAS - 输出传输系统
- SAS - 模拟
- SAS 基本统计程序
- SAS-算术平均值
- SAS-标准差
- SAS - 频率分布
- SAS - 交叉表
- SAS - T 测试
- SAS - 相关性分析
- SAS - 线性回归
- SAS - 布兰德-奥特曼分析
- SAS-卡方
- SAS - 费舍尔精确测试
- SAS - 重复测量分析
- SAS-单向方差分析
- SAS-假设检验
- SAS 有用资源
- SAS - 快速指南
- SAS - 有用的资源
- SAS - 问题与解答
- SAS - 讨论
SAS - 输入方法
输入方法用于读取原始数据。原始数据可能来自外部源或来自流数据线。输入语句使用您分配给每个字段的名称创建一个变量。所以你必须在输入语句中创建一个变量。相同的变量将显示在 SAS 数据集的输出中。以下是 SAS 中可用的不同输入方法。
- 列表输入法
- 命名输入法
- 列输入法
- 格式化输入法
各输入法的详细说明如下。
列表输入法
在此方法中,变量与数据类型一起列出。仔细分析原始数据,以便声明的变量的顺序与数据匹配。任何一对相邻列之间的分隔符(通常是空格)应该是统一的。任何丢失的数据都会导致输出出现问题,因为结果将是错误的。
例子
以下代码和输出显示了列表输入法的使用。
DATA TEMP; INPUT EMPID ENAME $ DEPT $ ; DATALINES; 1 Rick IT 2 Dan OPS 3 Tusar IT 4 Pranab OPS 5 Rasmi FIN ; PROC PRINT DATA = TEMP; RUN;
运行上述代码后,我们得到以下输出。
命名输入法
在此方法中,变量与数据类型一起列出。原始数据被修改为在匹配数据前面声明变量名称。任何一对相邻列之间的分隔符(通常是空格)应该是统一的。
例子
以下代码和输出显示了命名输入法的使用。
DATA TEMP; INPUT EMPID= ENAME= $ DEPT= $ ; DATALINES; EMPID = 1 ENAME = Rick DEPT = IT EMPID = 2 ENAME = Dan DEPT = OPS EMPID = 3 ENAME = Tusar DEPT = IT EMPID = 4 ENAME = Pranab DEPT = OPS EMPID = 5 ENAME = Rasmi DEPT = FIN ; PROC PRINT DATA = TEMP; RUN;
运行上述代码后,我们得到以下输出。
列输入法
在此方法中,变量与数据类型和列宽度一起列出,指定单列数据的值。例如,如果员工姓名最多包含 9 个字符,并且每个员工姓名从第 10 列开始,则员工姓名变量的列宽将为 10-19。
例子
下面的代码展示了列输入法的使用。
DATA TEMP; INPUT EMPID 1-3 ENAME $ 4-12 DEPT $ 13-16; DATALINES; 14 Rick IT 241Dan OPS 30 Sanvi IT 410Chanchal OPS 52 Piyu FIN ; PROC PRINT DATA = TEMP; RUN;
当我们执行上面的代码时,它会产生以下结果 -
格式化输入法
在此方法中,从固定的起点读取变量,直到遇到空格为止。由于每个变量都有固定的起点,因此任何一对变量之间的列数将成为第一个变量的宽度。字符“@n”用于指定变量的起始列位置为第 n 列。
例子
下面的代码展示了格式化输入法的使用
DATA TEMP; INPUT @1 EMPID $ @4 ENAME $ @13 DEPT $ ; DATALINES; 14 Rick IT 241 Dan OPS 30 Sanvi IT 410 Chanchal OPS 52 Piyu FIN ; PROC PRINT DATA = TEMP; RUN;
当我们执行上面的代码时,它会产生以下结果 -