SAS学习——选取数据集的部分变量

本文介绍了使用SAS软件高效筛选数据集的方法,包括利用SET语句中的KEEP=和DROP=选项、DATA步中的KEEP和DROP语句以及在一个DATA步中创建多个数据集等技巧,以提高数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现目标:从sashelp逻辑库中的shoes数据集中选取部分变量到新的数据集

shoes数据集所包含的数据(部分)如下图所示:


1、在SET语句中使用数据集选项KEEP=和DROP=

选项KEEP=表示只读取变量列表中的变量,而选项KEEP=表示读取除变量列表中列出的变量之外的其他所有变量。

data work.shoes_part1;
    set sashelp.shoes(keep=product stores sales);*括号中的内容也可写作drop=region subsidiary inventory returns 具体用哪个 取决于哪种方法会指定较少的变量;
run;
proc print data =work.shoes_part1(obs=5) noobs;
run;

2、在DATA步中使用KEEP和DROP语句

data work.shoes_part2;
    set sashelp.shoes;
    keep product stores sales;
run;
proc print data =work.shoes_part2(obs=5) noobs;
run;

上述两种方式在执行过程中有所不同。第一种形式在执行时,不会读取全部变量到PDV中去,只会读取指定需要的数据写入到新数据集中;而第二种形式在执行时,会读取全部变量到PDV中去,然后再通过相应的KEEP和DROP语句进行选取并写入新数据集。因此,使用数据集选项KEEP=和DROP=通常会更有效率。

3、一个DATA步中创建多个数据集

当需要在一个DATA步中创建多个数据集时,可以通过在一个DATA步中通过给每个数据集使用KEEP=和DROP=来创建,而在DATA语句中使用这些选项会使PDV中包含全部变量,这时可以通过SET语句中的数据集选项KEEP=和DROP=来确定读入PDV中的变量,这样就不会使所有的变量都读入到PDV中,以提升程序执行的效率。

data work.shoes_sales(keep=product stores sales)
     work.shoes_inventory(keep=product inventory returns);
     set sashelp.shoes(drop=region subsidiary);
run;
proc print data=work.shoes_sales(obs=5) noobs;
    title "product sales";
run;
proc print data=work.shoes_inventory (obs=5) noobs;
    title "product inventory";
run;
### 使用NHANES数据库计算和分析饮食模式 #### 数据获取与准备 为了使用NHANES数据库进行饮食模式的分析,首先需要从官方渠道下载所需的数据集。具体来说,可以选择特定年份的数据文件,例如2007-2008年、2009-2010年、2011-2012年和2013-2014年的数据[^1]。 这些数据通常以SAS传输格式(.XPT)提供,因此建议安装Python中的`pandas`库来读取并转换成更易操作的形式: ```python import pandas as pd from sas7bdat import SAS7BDAT with SAS7BDAT('path_to_file.xpt') as reader: df = reader.to_data_frame() df.head() # 查看前几行确认加载成功 ``` #### 饮食模式评估指标构建 针对饮食模式的研究,可以从多个角度出发定义评价体系。考虑到研究对象为非正态连续变量,在建立模型之前应当考虑采用适合的方法处理偏斜度较高的特征值分布情况。 一种常见的做法是对原始数值应用Box-Cox变换或其他形式的幂次方根变化使其接近于标准正态分布;另一种则是直接选用基于秩次统计量的技术如Kruskal-Wallis H检验来进行组间差异比较而不必担心违反假设条件的问题。 对于具体的饮食模式量化方面,则可以根据实际需求选取合适的营养素摄入比例作为核心考量因素之一,并结合其他辅助性的生活习惯参数共同构成综合性的衡量尺度——即所谓的“氧化平衡评分”,这一体系能够有效反映个体日常摄取食物种类及其加工方式对人体健康状态的影响程度。 #### 统计建模与可视化呈现 完成上述预处理步骤之后即可进入正式建模环节。此时可利用多元线性回归、逻辑斯蒂回归乃至机器学习算法(如随机森林分类器)探索不同饮食结构同目标结局之间的关联强度及方向性规律。与此同时,借助Seaborn或Matplotlib等绘图包制作直观形象的结果展示图表有助于加深理解所得结论的实际意义。 ```python import seaborn as sns sns.pairplot(df[['Dietary_Score', 'Health_Outcome']]) plt.show() # 建立简单线性关系预测模型 from sklearn.linear_model import LinearRegression model = LinearRegression().fit(X=df[['Dietary_Score']], y=df['Health_Outcome']) print(f"Coefficient of determination R^2 is {model.score(X, y)}") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值