-1

我有以下问题:

一些样本数据:

data;
input id article sex count;
datalines;
1 139 1 2
2 139 2 2
3 146 2 1
4 146 2 2
5 146 1 0
6 111 2 10
6 111 1 1
;
run;

现在,我有这个代码:

proc tabulate;
freq count;
class article sex;
table article, sex /misstext='0';
run;

与下面的代码相比有什么不同吗?

proc tabulate;
var count;
class article sex;
table article, sex*count;
run;

还是它完全做同样的事情?哪一个值得推荐?

4

1 回答 1

2

注意运行这两个tabulate变体所产生的输出。

在此处输入图像描述

对于手头的数据集,结果是相同的,但呈现方式不同。

  • 第一个具有性别类别单元,这是一个隐含的频率 ( N) 计算,它是count加权的,也隐含地格式化为一个整数。隐含是在没有其他语句和选项的情况下的默认行为。
  • 第二个具有性别类单元格,这些单元格是 的计算总和count,采用默认的 2 位小数格式化。

如果数据集在var中使用了其他变量table,则要执行的统计计算以及加权的作用将取决于您正在制作的演示文稿的性质和使用它的观众。您可能想要或不想要影响统计计算的“计数”频率加权。

向 5 个人提出建议,您可能会得到 6 个!

从在线文档中,将语句的详细信息与FREQ语句进行比较WEIGHT

频率 变量

必需的参数

多变的

  • 指定一个数值变量,其值表示观察的频率。如果您使用 FREQ 语句,则该过程假定每个观测值代表 n 个观测值,其中 n 是变量的值。如果 n 不是整数,则 SAS 将其截断。如果 n 小于 1 或缺失,则该过程不使用该观察值来计算统计量。
  • 频率变量的总和表示观察的总数。

重量 变量

必需的参数

多变的

  • 指定一个数值变量,其值对分析变量的值进行加权。变量的值不必是整数。PROC TABULATE 根据下表响应重量值。
    0:在观察总数中计算观察
  • <0: 将值转换为零并将观察计数计入观察总数
  • .missing: 不包括观察

要从分析中排除包含负权重和零权重的观测值,请使用 EXCLNPWGT。请注意,大多数 SAS/STAT 过程(例如 PROC GLM)默认排除负权重和零权重。

注意:在 SAS 版本 7 之前,该程序不会从观察计数中排除具有缺失权重的观察。

限制

  • 要计算加权分位数,请在 PROC 语句中使用 QMETHOD=OS。
  • 当权重变量处于活动状态时,PROC TABULATE 不会计算 MODE。相反,当需要计算 MODE 并且权重变量处于活动状态时,请尝试使用 PROC UNIVARIATE。

相互作用

  • 如果您在 VAR 语句中使用 WEIGHT= 选项来指定权重变量,则 PROC TABULATE 使用此变量来代替这些 VAR 语句变量的权重。

小费

  • 当您使用 WEIGHT 语句时,请考虑 VARDEF= 选项的哪个值是合适的。请参阅本文档的关键字和公式部分中对 VARDEF=divisor 和加权统计量的计算的讨论。
于 2019-08-27T09:18:35.720 回答