【问题标题】:Stratifying SAS health data by age range按年龄范围对 SAS 健康数据进行分层
【发布时间】:2015-12-07 21:21:02
【问题描述】:

这是我的数据集

第 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;

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

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

【问题讨论】:

  • 您的INFILE 声明是错误的。要么包括像hw3 这样的文件引用(即别名),要么像"data.sas" 这样的物理路径,但不能同时包括两者。还要注意那些在您的 libname 语句中生成的 WORD 或其他内容的非引号字符引号。 SAS 不理解那些花哨的报价。只是普通的"' 引号。
  • 您是否在问如何为编码变量创建格式(SPSS 将其称为值标签)?使用PROC FORMAT 创建它们。然后,您可以使用 FORMAT 语句告诉 SAS 哪些格式与哪些变量一起使用。

标签: statistics sas


【解决方案1】:

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

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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多