SAS(统计分析系统)是一套用于高级分析、商业智能、数据管理和预测分析的软件套件。最初开发用于数据处理和统计分析,SAS 已发展为包含广泛功能的软件,包括数据挖掘、预测和运筹学。由于其强大的分析能力和用户友好的界面,SAS 在各个行业中广泛应用,尤其是在医疗保健、金融和学术界。
SAS 于1960年代在北卡罗来纳州立大学由安东尼·詹姆斯·巴尔(Anthony James Barr)领导的一组研究人员开发。最初的目的是分析农业数据以支持统计项目。SAS 的第一个版本是用汇编语言编写的,后来转变为更用户友好的统计软件包形式。
在1970年代,随着公司认识到其商业应用的潜力,SAS 开始在学术界之外获得关注。第一个SAS研究所于1976年成立,随后发展成为一家提供软件解决方案和分析服务的全球公司。随着对数据分析需求的增长,SAS 扩展了其产品,包括商业智能工具、数据集成解决方案和高级分析能力。
如今,SAS 是分析领域的领导者,提供一套全面的软件套件,涵盖广泛的统计技术和方法论。随着大数据和机器学习的兴起,SAS 通过将人工智能(AI)和机器学习(ML)能力纳入其平台而进行了适应。其软件在高度监管的行业(如制药和金融)中被广泛依赖于合规性和风险管理。
SAS 编程的核心基于数据步骤和过程(PROC)步骤。数据步骤用于数据处理,而 PROC 步骤用于分析。
data mydata;
input name $ age salary;
datalines;
John 30 50000
Jane 25 60000
;
run;
SAS 支持两种类型的变量:数值型和字符型。数值型变量可以存储数字,而字符型变量可以存储文本字符串。
data example;
name = "Alice";
age = 28;
run;
SAS 允许使用数组进行高效的数据处理。
data array_example;
array nums(3) x1 x2 x3;
do i = 1 to 3;
nums(i) = i * 10;
end;
run;
SAS 提供了一系列内置函数用于数据转换、统计和字符串处理。
data example;
x = abs(-5); /* 绝对值 */
y = length("SAS"); /* 字符串长度 */
run;
SAS 允许使用格式对数据值进行格式化,从而增强输出的呈现效果。
data formatted;
value = 12345.678;
formatted_value = put(value, dollar8.2); /* 格式化为 $12,345.68 */
run;
为变量添加标签可以提高输出的可读性。
data labeled;
x = 1;
label x = "变量 X 标签";
run;
SAS 支持条件语句用于数据处理。
data conditional;
set mydata;
if age > 30 then status = "高级";
else status = "初级";
run;
SAS 提供了基于公共键合并多个数据集的语法。
data merged;
merge dataset1 dataset2;
by ID;
run;
SAS 包含宏编程功能,用于动态代码生成。
%macro example(data);
data &data;
set &data;
run;
%mend example;
SAS 提供内置过程用于创建数据的图形表示。
proc sgplot data=mydata;
scatter x=age y=salary;
run;
SAS 企业指南是一个广泛使用的图形用户界面(GUI),允许用户使用点选方法构建项目。其他流行的环境包括 SAS Studio 和 Base SAS,它们提供更以代码为中心的方法。SAS Viya 是一个较新的基于云的分析平台,也支持 SAS 编程。
要构建一个 SAS 项目,用户通常在 IDE 或文本编辑器中编写脚本,然后执行这些脚本以进行数据转换和分析。典型的工作流程包括编写数据步骤,随后一个或多个 PROC 步骤来分析或可视化数据。输出可以导出为多种格式,包括 CSV、Excel 和 RTF。
SAS 主要用于需要严格数据分析的行业,包括:
在将 SAS 与相关编程语言进行比较时:
在源到源翻译方面,有像“SASTransformer”这样的工具,可以促进将 SAS 代码转换为 R、Python 或 SQL。然而,每种语言都有独特的语法和库,可能没有直接的等价物,因此在翻译过程中需要仔细考虑。