添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

导入数据Excel表格

文件->导入数据->选择Excel Workbook选项找到Excel表格导入即可
如果报错可以选择Excel Workbook on PC Files Server导入表格
问题解决: SAS导入Excel数据集时报错:“ERROR: 连接: 没有注册类”

利用set语句进行纵向合并

data 数据集;
set 数据集(数据集选项) 数据集(数据集选项);
  • set 数据集(in=临时变量1)
    针对数据集产生一个临时变量,当合并记录属于此集时为1,否则为0
    通常配合if一起使用
  • set 数据集(rename=(原名=新名))
    将两个变量名不同的数据合并
data ab1;
set work.a1 work.b1;
proc print;
data ab1;
set work.a1(rename=(height=ht weight=wt)) work.b1;
proc print;
 

set后面如果只有一个数据集,此时相当于复制作用,可以保留原数据库,只对新建立的数据集进行操作

使用merge语句横向合并

data 数据库;
merge 数据集1 数据集2 数据集3 ...;
by 变量1 变量2;
data ab;
merge ab1 ab2;
by id;
proc print;

by语句相当于指定索引,从而保证连接正常

proc compare<base=数据集 compare=数据集> <nosummary> <transpose>;
by 变量1 变量2;
id 变量1 变量2;

数据清洗与查找缺失值

array 数组名[下标]<$><数组元素><(元素初始值)>
array s[5] a b c d e;

查找缺失值

data missing;
set sasuser.xab;
array cha[1] name;
if missing(cha[1]) then output;
array num[10] gender age ht wt time y1-y5;
do i=1 to 10;
if missing(num[i]) then output;
proc print;

删除重复显示的记录

proc sort data=missing out=missing2 nodukey;
by id;
proc print;

自动变量改进

data missing;
set sasuser.xab;
array cha[1] _character_;
if missing(cha[1]) then output;
array num[11] _numeric_;
do i=1 to 11;
if missing(num[i]) then output;
proc print;

继续改进:查找缺失值的万能程序

data missing;
set sasuser.xab;
array cha[*] _character_;
do i=1 to dim(cha);
if missing(cha[1]) then output;
array num[*] _numeric_;
do i=1 to dim(num);
if missing(num[i]) then output;
proc print;

查找异常值
缺失值填补

data xab_revised;
set sasuser.xab;
if id=3 then age=33;
proc print;

proc mi过程来实现缺失值填补

data xab9;
set xab_revised;
proc mi data=xab9 out=nomissing round=1 1 1 minimum=150 1 1 maxmum=200 5 5;
mcmc;
var ht  y2 y4;
proc print data=nomissing;

分析:
out=后面是把数据保存在自定义数据集中;
round=选项的作用是制定填补的小数点位数
mcmc是采用mcmc方法产生随机数
默认产生25个填补完整是数据集,每个数据集的填补值都不同

阶段总结:常见的SAS语句及数据集选项

input/cards
format
set/merge
if/where
do-end
if-then
delete
length
rename

以上这些SAS语句都可以用于data步中,如果数据使用input输入,那么这些语句通常放在input和cards之间,如果数据利用set复制则放在set语句后

数据集选项:

data newxab;
set sasuser.xab;
rename ht=height;
//where gender =1;
//drop id name;
//Keep gender y1-y5;

数据集选项运行效率更高,作为选项时与set同时作用,作为语句时,是在set语句之后才起作用

产生数据子集

产生特定记录的子集

1.选择具有相同特征的人群子集

data newxab;
set sasuer.xab;
if age<30;
proc print;
data newxab;
set sasuer.xab;
where age<30;
proc print;
data newxab;
set sasuer.xab(where=(age<30));
proc print;

2.选择连续记录的数据子集

proc print data=sasuser.xab(firstobs=1 obs=5);

生成变量子集

选择部分变量生成子集

data newxab;
set sasuer.xab;
keep id y1-y5;
if gender=2;
proc print;
data newxab(keep=id y1-y5);
set sasuer.xab;
if gender=2;
proc print;
data newxab;
set sasuer.xab(keep=id y1-y5);
if gender=2;
proc print;
                    导入导入数据Excel表格文件-&gt;导入数据-&gt;选择Excel Workbook选项找到Excel表格导入即可如果报错可以选择Excel Workbook on PC Files Server导入表格问题解决:SAS导入Excel数据集时报错:“ERROR: 连接: 没有注册类”数据合并纵向合并利用set语句进行纵向合并data 数据集;set 数据集(数据集选项) 数据集(数据集选项);run;set 数据集(in=临时变量1)针对数据集产生一个临时变量,当合并记录属
数据集选项:set 数据集1(in=临时变量1)set数据集2(in=临时变量2)…;
           set数据集1(rename=(原名1=新名1…)) 数据集2(rename=(原名1=新名1…))…;
① 单击【数据】选项卡下【数据工具】组中的【删除重复值】,设置删除列。
② 根据人名排序,找到重复值,进行人工排查是否重名,然后进行删除。
③ 选中某一列数据,选择【开始】选项卡下【条件格式】下拉菜单当中的【突出显示单元格规则】选项,再选择【重复值】选项。
2)处理默认值的方法
① 找出默认值。大多数情况下默认的数据会以空白单元格显示。使用【Ctrl+G】组合键打开
				
文章目录字符型数据操作文件读取和输出使用FREQ过程监检测数据非法值数据集的字符型变量大小写统一转换字符型函数概要字符数据模式判别使用数据步识别字符数据错误在print过程使用where语句检查数据错误使用formats过程检查数据错误(优先选择)创建永久型格式消除单位清除字符数据中无法打印符使用Perl正则表达式检查数据错误 字符型数据操作 文件读取和输出 使用FREQ过程监检测数据非法值 数据...
TensorFlow是一个开放源代码的软件库,用于进行高性能数值计算。通过其灵活的架构,它允许用户轻松地部署计算工作在各种平台(CPUs、GPUs、TPUs)上,无论是在桌面、服务器还是移动设备上。TensorFlow最初由Google Brain团队(属于Google的人工智能部门)开发,并在2015年被发布到Apache 2.0开源许可证下。 TensorFlow的主要特点包括它的高度灵活性、可扩展性和可移植性。它支持从小到大的各种计算,从手机应用到复杂的机器学习系统。TensorFlow提供了一个全面的、灵活的生态系统的库、工具和社区资源,使研究人员能够推动人工智能领域的最前沿,并使开发人员能够轻松构建和部署由机器学习驱动的应用。 TensorFlow的核心是使用数据流图来表示计算。在数据流图中,节点表示在数据上执行的操作,而图中的边表示在操作之间流动的数据。这种表示法允许TensorFlow有效地执行并行计算,并且可以在不同的硬件平台上高效运行。此外,TensorFlow支持自动微分,这对于实现复杂的机器学习算法(如深度学习网络)至关重要。