Sas 重命名多个数据集共用的变量名周围的过程逻辑/问题导致的系数

Sas 重命名多个数据集共用的变量名周围的过程逻辑/问题导致的系数,sas,Sas,我正在估算一个涉及11个因素的公司破产模型。我有1900年至2000年的数据,我的目标是使用proc logistic对1900年至1950年期间的模型进行估算,然后在1951年至2000年的数据上测试其性能。Proc logistic运行良好,但我遇到的问题是,估计系数与我在模型中使用的因子同名。假设包含我所有观察结果的数据集称为myData,包含我使用outtest语句(在proc logistic中)获得的估计系数的数据集称为FactorRestimate。现在这两个数据集都有变量fact

我正在估算一个涉及11个因素的公司破产模型。我有1900年至2000年的数据,我的目标是使用proc logistic对1900年至1950年期间的模型进行估算,然后在1951年至2000年的数据上测试其性能。Proc logistic运行良好,但我遇到的问题是,估计系数与我在模型中使用的因子同名。假设包含我所有观察结果的数据集称为myData,包含我使用outtest语句(在proc logistic中)获得的估计系数的数据集称为FactorRestimate。现在这两个数据集都有变量factor1,factor2,…,factorN。现在,我想将dataset outOfSampleResults形成如下操作:

样本结果的数据输出;
设置myData factorEstimates;
新变量=系数1*系数1;
运行


其中,第一个提到的factor1指的是myData中包含的factor1,第二个提到的是FactorRestimate中包含的factor1。如何告知sas应该为set语句中两个数据集共用的变量读取哪个数据集?或者,如何在FactoryRestimates数据集中快速重命名factor1、factor2、…、factorN为factor1Estimate、factor2Estimate、…、factorNEstimate,从而完全避免这个常见的变量名问题

获取已开发模型估算值的两种快速方法: 1.Proc逻辑评分表

  • 在原始过程逻辑中包含数据,但使用新变量,并确保要预测的观测缺少因变量

    数据叠加; 设置所有; 如果年份>1950,则预测=。; else=y; 运行

    过程逻辑数据=堆叠; 预测模型=系数1-系数12; 输出out=out\u预测=p; 运行


  • 您是否知道,您编写的代码将简单地连接两个数据集,然后生成newVar作为factor1的平方?是否要合并/加入myData和FactoryRestimates数据集?请阅读此页:并注意使用“重命名=”数据集选项的部分。否,我需要一种快速重命名FactoryRestimates数据集中所有列名的方法。可能是proc SQL?如果变量名为factor1-factor12,则可以通过以下方式进行批量重命名:重命名factor1-factor12=new\u factor1-new\u factor12;天哪,你提供的第二个解决方案对我非常有用。非常感谢你!