按年龄范围对 SAS 健康数据进行分层

Stratifying SAS health data by age range

这是我的数据集

第 1 列: 血脂水平

第 2 列: 年龄

第 3 列: 脂肪含量类别

第 4 列: 性别(1=男)

   0.73      1      1   1
   0.67      1      2   1
   0.15      1      3   1
   0.86      2      1   1
   0.67      2      2   1
   0.15      2      3   1
   0.94      3      1   1
   0.81      3      2   1
   0.26      3      3   1
   0.23      4      1   2
   1.40      4      1   1
   1.32      4      2   1
   0.15      4      3   1
   1.62      5      1   1
   1.41      5      2   1
   0.78      5      3   1
   9.78      5      1   1

这里有一些不同的分析我是 运行 这段代码,但我不太确定为什么 SAS 没有编译。

在做任何事情之前,我手动设置了一个永久库。

libname di ‘c:\diet’;
data di.HW3 Data;
infile hw3 data.sas;
input Lipidlevel Age Fatcontent Gender;
run;

有什么方法可以按如下方式对数据进行分层?我想为年龄组和脂肪含量类别变量创建标签和格式。年龄组编码为 1 至 5,对应于:15-24 岁; 25-34; 35-44; 45-54; 55-64。脂肪含量类别编码为 1 至 3,对应于:极低;相当低;中等偏低。我不知道该怎么做。我能想到的唯一方法是进入原始数据集并手动将它们分类。

我的意思是,如果给我一个更大的数据集,那么这样做是不切实际的。我可以在这里得到一些帮助吗?

要使用描述性词语显示编码变量,您应该使用格式。首先定义一些格式。

proc format;
  value agegp 1='15-24' 2='25-34' 3='35-44' 4='45-54' 5='55-64';
  value fat   1='extremely low' 2='fairly low' 3='moderately low';
  vale sex '1'='male' ;
run;

然后您可以将它们附加到变量。您可以在创建数据集的步骤中完成,或者将它们附加到您想要使用它们的地方。

proc freq data=di.hw3;
  tables age fatcontent gender;
  format age agegp. fatcontent fat. gender sex. ;
run;