Matrix IML的替代方案?在没有IML的情况下运行SAS Viya,需要合并两个非嵌套聚类的协方差矩阵

Matrix IML的替代方案?在没有IML的情况下运行SAS Viya,需要合并两个非嵌套聚类的协方差矩阵,matrix,sas,cluster-analysis,covariance,Matrix,Sas,Cluster Analysis,Covariance,我正在运行SAS Viya环境,无法访问IML。但是,我需要使用以下代码或类似的代码,通过组合协方差矩阵来精确计算标准误差。代码来自以下文件(如果您愿意,可以下载pdf格式的文件,代码见附录A): 我的问题是:有没有其他方法可以在不使用IML的情况下组合SAS中的协方差矩阵 下面是将逻辑回归模型与二元结果Y拟合的样本SAS代码,使用GEE调整两个非嵌套集群内的相关性。注意,可以通过使用命令“C1C2ID=C1ID | | |'|'| | C2ID;”在数据步骤中连接C1ID和C2ID来创建聚类变

我正在运行SAS Viya环境,无法访问IML。但是,我需要使用以下代码或类似的代码,通过组合协方差矩阵来精确计算标准误差。代码来自以下文件(如果您愿意,可以下载pdf格式的文件,代码见附录A):

我的问题是:有没有其他方法可以在不使用IML的情况下组合SAS中的协方差矩阵

下面是将逻辑回归模型与二元结果Y拟合的样本SAS代码,使用GEE调整两个非嵌套集群内的相关性。注意,可以通过使用命令“C1C2ID=C1ID | | |'|'| | C2ID;”在数据步骤中连接C1ID和C2ID来创建聚类变量C1C2ID

谢谢你的帮助

Sean

Proc DS2包有许多执行矩阵运算的方法

  • 加上, 所有的,所有的,所有的,所有的,所有的,所有的,所有的,所有的,所有的,任何的,任何的,任何的,任何的,任何的,任何的,任何的,任何的,任何的,任何的,任何的,任何的,任何的,任何的 DET、EDIV、EMAX、EMIN、EMOD、EMULT、EPOW、EQ、EXP、FLOOR、GE、GT、IN、INVERSE、LE、LOG 书信电报, MULT、NE、OR、OUT、ROWS、SQRT、SUB、TOARRAY、TOVARRARY、TRANS
Proc-MCMC

为您提供了许多调用例程,用于对声明的数组执行简单的矩阵操作

  • ADDMATRIX,CHOL,DET,ELEMMULT,FILLMATRIX,IDENTITY,INV,MULT,SUBTRACTMATRIX, 转置,零矩阵
%macro gee(n=1,cluster=C1);
proc genmod data=a descending; 
class &cluster; 
model y = x/dist=binomial; 
repeated subject=&cluster/type=indep ecovb; 
ods output GEEEmpPEst=beta GEERCov=V&n; 
quit; 
%mend; 
%gee(n=1,cluster=C1ID); 
%gee(n=2,cluster=C2ID); 
%gee(n=3,cluster=C1C2ID);

The covariance matrices may be read into PROC IML to combine and to calculate the corrected standard errors for the regression coefficients:

proc iml; use V1; 
read all var{rowname}; 
read all var(rowname) into V1; close V1; use V2; 
read all var(rowname) into V2; close V2; use V3; 
read all var(rowname) into V3; close V3; V=V1+V2-V3; SE=sqrt(vecdiag(V)); print SE;