如何解决计算 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;
我需要计算:
-
testid 和 level 的每个组合的所有个体偏差平方的总和
-
以及每个 testid 的所有个体偏差平方的总和
我使用以下方法计算给定 testid 和级别的平均值:
proc means data=have ;
var values;
class testid level;
output out=class_stats mean = /autoname ;
run;
从观察中减去以复制以下示例:
其中“LOT”相当于数据中的level,“subject”相当于testid。
我查看了此处给出的示例: Calculate mean and std of a variable,in a datastep in SAS 但我无法复制它们,因为这些数据只有一个类。
不幸的是,我找不到一种简单的方法来做到这一点,因为我是 R 用户并且我是 SAS 的新手。有没有人对如何在 SAS 中以简单的方式做到这一点有一个切肉刀的想法?
谢谢
解决方法
示例:
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 举报,一经查实,本站将立刻删除。