微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算 SAS

如何解决计算 SAS

我正在尝试计算各个平方偏差以根据这些值执行一些计算。

我有以下数据集:

data have;
input testid $ level $ values;
datalines;
HITT1D   LC1   0.45
HITT1D   LC1   0.49
HITT1D   LC1   0.47
HITT1D   LC2   0.43
HITT1D   LC2   0.39
HITT1D   LC2   0.42
HITT1D   LC3   0.66
HITT1D   LC3   0.63
HITT1D   LC3   0.64
HBEF5D   LC1   0.45
HBEF5D   LC1   0.49
HBEF5D   LC1   0.47
HBEF5D   LC2   0.43
HBEF5D   LC2   0.39
HBEF5D   LC2   0.42
HBEF5D   LC3   0.66
HBEF5D   LC3   0.63
HBEF5D   LC3   0.64
;
run;

我需要计算:

  1. testid 和 level 的每个组合的所有个体偏差平方的总和

  2. 以及每个 testid 的所有个体偏差平方的总和

我使用以下方法计算给定 testid 和级别的平均值:

proc means data=have ;
    var values;
    class testid level;
    output out=class_stats mean = /autoname ;
run;

从观察中减去以复制以下示例:

example of the aimed calculations

其中“LOT”相当于数据中的level,“subject”相当于testid。

我查看了此处给出的示例: Calculate mean and std of a variable,in a datastep in SAS 但我无法复制它们,因为这些数据只有一个类。

不幸的是,我找不到一种简单的方法来做到这一点,因为我是 R 用户并且我是 SAS 的新手。有没有人对如何在 SAS 中以简单的方式做到这一点有一个切肉刀的想法?

谢谢

解决方法

听起来您是在询问 CSS 统计信息。 enter image description here

示例:

proc means data=have css ;
  class testid level ;
  types testid testid*level ;
  var values;
run;

结果:

The MEANS Procedure

  Analysis Variable : values

              N
testid      Obs    Corrected SS
-------------------------------
HBEF5D        9       0.0882889

HITT1D        9       0.0882889
-------------------------------


        Analysis Variable : values

                          N
testid      level       Obs    Corrected SS
-------------------------------------------
HBEF5D      LC1           3     0.000800000

            LC2           3     0.000866667

            LC3           3     0.000466667

HITT1D      LC1           3     0.000800000

            LC2           3     0.000866667

            LC3           3     0.000466667
-------------------------------------------

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。