楼主: moyunzheng
4702 5

[问答] ods select和text的问题 [推广有奖]

  • 1关注
  • 2粉丝

博士生

60%

还不是VIP/贵宾

-

威望
0
论坛币
1358 个
通用积分
0.0035
学术水平
18 点
热心指数
19 点
信用等级
17 点
经验
11986 点
帖子
240
精华
0
在线时间
360 小时
注册时间
2010-12-11
最后登录
2023-9-6

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问如何实现ods输入对象和自定义解释交叉出现?
例如:
proc calis;
lineqs;
std;
ods text="a";
ods select AAA.AAA;
ods text="b";
ods select BBB.BBB;
run;
得到的结果是:
a
b
AAA.AAA
BBBBBB
期望的结果是:
a
AAA.AAA
b
BBB.BBB

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Select Elect Text ect ele 如何

沙发
jingju11 发表于 2011-8-26 09:32:22 |只看作者 |坛友微信交流群

I am doing some research about SEM modelling in PROC CALIS, whereas I do feel confused about the syntax used in the above code. As my understanding, the code is invalid.

JingJu

使用道具

藤椅
moyunzheng 发表于 2011-8-30 09:32:19 |只看作者 |坛友微信交流群
jingju11 发表于 2011-8-26 09:32
I am doing some research about SEM modelling in PROC CALIS, whereas I do feel confused about the syn ...
我的目的是给每个结果都加上一个自定义说明

data work.path(type=corr);
input _type_ $ _name_ :$10. Obesity Lipids Adipokines??HOMAIR;
label
        Obesity="肥胖指标"
        Lipids="血脂指标"
        Adipokines="细胞因子指标"
        HOMAIR="稳态模型的胰岛素抵抗指数";
format _name_ $pathformat.;
datalines;
corr Obesity 1.00 . . .
corr Lipids 0.61 1.00 . .
corr Adipokines 0.27 0.40 1.00 .
corr HOMAIR 0.31 0.46 0.75 1.00
;
run;
ods trace on;
proc calis data=work.path method=GLS all nobs=100;
lineqs
        HOMAIR=f1 Obesity + f2 Lipids + f3 Adipokines + eHOMAIR,
        Obesity=f4 Lipids + f5 Adipokines + eObesity,
        Lipids=f6 Obesity+  f7 Adipokines + eLipids,
        Adipokines=f8  Obesity + f9 Lipids + eAdipokines;
std eHOMAIR=eHOMAIR, eObesity=eObesity ,eLipids=eLipids, eAdipokines=eAdipokines;
ods text=" 1 ";
ods select  Calis.ModelSpec.ModelStatement ;
ods text=" 2 ";
ods select  Calis.ModelSpec.EndogenousVar ;
ods text=" 3 ";
ods select  Calis.ModelSpec.ExogenousVar ;
ods text=" 4 ";
ods select  Calis.ModelSpec.InManifestEq ;
ods text=" 5 ";
ods select  Calis.ModelSpec.InVarExog ;
ods text=" 6 ";
ods select  Calis.ModelSpec.InCovExog ;
ods text=" 7 ";
ods select  Calis.ModelingStat.GenModInfo ;
ods text=" 8 ";
ods select  Calis.ModelingStat.SimpleStatistics ;
ods text=" 9 ";
ods select  Calis.ModelingStat.InCorr ;
ods text=" 10 ";
ods select  Calis.ModelingStat.InCorrDet ;
ods text=" 11 ";
ods select  Calis.ModelingStat.Weights ;
ods text=" 12 ";
ods select  Calis.Optimization.InitEstimates ;
ods text=" 13 ";
ods select  Calis.Optimization.PredetElements ;
ods text=" 14 ";
ods select  Calis.Optimization.SumSqDif ;
ods text=" 15 ";
ods select  Calis.Optimization.ProblemDescription ;
ods text=" 16 ";
ods select  Calis.Optimization.IterStart ;
ods text=" 17 ";
ods select  Calis.Optimization.IterHist ;
ods text=" 18 ";
ods select  Calis.Optimization.IterStop ;
ods text=" 19 ";
ods select  Calis.Optimization.ConvergenceStatus ;
ods text=" 20 ";
ods select  Calis.Optimization.LinDep ;
ods text=" 21 ";
ods select  Calis.FitSummary.PredModel ;
ods text=" 22 ";
ods select  Calis.FitSummary.PredModelDet ;
ods text=" 23 ";
ods select  Calis.FitSummary.Fit ;
ods text=" 24 ";
ods select  Calis.Residuals.Raw.RawRes ;
ods text=" 25 ";
ods select  Calis.Residuals.Raw.AveRawRes ;
ods text=" 26 ";
ods select  Calis.Residuals.Normalized.NormRes ;
ods text=" 27 ";
ods select  Calis.Residuals.Normalized.AveNormRes ;
ods text=" 28 ";
ods select  Calis.EstimationResults.EstManifestEq ;
ods text=" 29 ";
ods select  Calis.EstimationResults.EstVarExog ;
ods text=" 30 ";
ods select  Calis.EstimationResults.EstCovExog ;
ods text=" 31 ";
ods select  Calis.SupplementaryResults.StdManifestEq ;
ods text=" 32 ";
ods select  Calis.SupplementaryResults.SqMultCorr ;
ods text=" 33 ";
ods select  Calis.SupplementaryResults.CorrExog ;
ods text=" 34 ";
ods select  Calis.SupplementaryResults.TotalEffects ;
ods text=" 35 ";
ods select  Calis.SupplementaryResults.IndirectEffects ;
ods text=" 36 ";
ods select  Calis.ModificationIndex.ModIndices ;
ods text=" 37 ";
ods select  Calis.ModificationIndex.ModIndices ;
ods text=" 38 ";
ods select  Calis.ModificationIndex.WaldTest ;
run;

使用道具

板凳
moyunzheng 发表于 2011-8-30 09:33:59 |只看作者 |坛友微信交流群
jingju11 发表于 2011-8-26 09:32
I am doing some research about SEM modelling in PROC CALIS, whereas I do feel confused about the syn ...
ods pdf;


proc format;
value $ pathformat
        "Obesity"="肥胖指标"
        "Lipids"="血脂指标"
        "Adipokines"="细胞因子指标"
        "HOMAIR"="稳态模型的胰岛素抵抗指数";
run;
data work.path(type=corr);
input _type_ $ _name_ :$10. Obesity Lipids Adipokines??HOMAIR;
label
        Obesity="肥胖指标"
        Lipids="血脂指标"
        Adipokines="细胞因子指标"
        HOMAIR="稳态模型的胰岛素抵抗指数";
format _name_ $pathformat.;
datalines;
corr Obesity 1.00 . . .
corr Lipids 0.61 1.00 . .
corr Adipokines 0.27 0.40 1.00 .
corr HOMAIR 0.31 0.46 0.75 1.00
;
run;
ods trace on;
proc calis data=work.path method=GLS all nobs=100;
lineqs
        HOMAIR=f1 Obesity + f2 Lipids + f3 Adipokines + eHOMAIR,
        Obesity=f4 Lipids + f5 Adipokines + eObesity,
        Lipids=f6 Obesity+  f7 Adipokines + eLipids,
        Adipokines=f8  Obesity + f9 Lipids + eAdipokines;
std eHOMAIR=eHOMAIR, eObesity=eObesity ,eLipids=eLipids, eAdipokines=eAdipokines;
ods text=" 1 ";
ods select  Calis.ModelSpec.ModelStatement ;
ods text=" 2 ";
ods select  Calis.ModelSpec.EndogenousVar ;
ods text=" 3 ";
ods select  Calis.ModelSpec.ExogenousVar ;
ods text=" 4 ";
ods select  Calis.ModelSpec.InManifestEq ;
ods text=" 5 ";
ods select  Calis.ModelSpec.InVarExog ;
ods text=" 6 ";
ods select  Calis.ModelSpec.InCovExog ;
ods text=" 7 ";
ods select  Calis.ModelingStat.GenModInfo ;
ods text=" 8 ";
ods select  Calis.ModelingStat.SimpleStatistics ;
ods text=" 9 ";
ods select  Calis.ModelingStat.InCorr ;
ods text=" 10 ";
ods select  Calis.ModelingStat.InCorrDet ;
ods text=" 11 ";
ods select  Calis.ModelingStat.Weights ;
ods text=" 12 ";
ods select  Calis.Optimization.InitEstimates ;
ods text=" 13 ";
ods select  Calis.Optimization.PredetElements ;
ods text=" 14 ";
ods select  Calis.Optimization.SumSqDif ;
ods text=" 15 ";
ods select  Calis.Optimization.ProblemDescription ;
ods text=" 16 ";
ods select  Calis.Optimization.IterStart ;
ods text=" 17 ";
ods select  Calis.Optimization.IterHist ;
ods text=" 18 ";
ods select  Calis.Optimization.IterStop ;
ods text=" 19 ";
ods select  Calis.Optimization.ConvergenceStatus ;
ods text=" 20 ";
ods select  Calis.Optimization.LinDep ;
ods text=" 21 ";
ods select  Calis.FitSummary.PredModel ;
ods text=" 22 ";
ods select  Calis.FitSummary.PredModelDet ;
ods text=" 23 ";
ods select  Calis.FitSummary.Fit ;
ods text=" 24 ";
ods select  Calis.Residuals.Raw.RawRes ;
ods text=" 25 ";
ods select  Calis.Residuals.Raw.AveRawRes ;
ods text=" 26 ";
ods select  Calis.Residuals.Normalized.NormRes ;
ods text=" 27 ";
ods select  Calis.Residuals.Normalized.AveNormRes ;
ods text=" 28 ";
ods select  Calis.EstimationResults.EstManifestEq ;
ods text=" 29 ";
ods select  Calis.EstimationResults.EstVarExog ;
ods text=" 30 ";
ods select  Calis.EstimationResults.EstCovExog ;
ods text=" 31 ";
ods select  Calis.SupplementaryResults.StdManifestEq ;
ods text=" 32 ";
ods select  Calis.SupplementaryResults.SqMultCorr ;
ods text=" 33 ";
ods select  Calis.SupplementaryResults.CorrExog ;
ods text=" 34 ";
ods select  Calis.SupplementaryResults.TotalEffects ;
ods text=" 35 ";
ods select  Calis.SupplementaryResults.IndirectEffects ;
ods text=" 36 ";
ods select  Calis.ModificationIndex.ModIndices ;
ods text=" 37 ";
ods select  Calis.ModificationIndex.ModIndices ;
ods text=" 38 ";
ods select  Calis.ModificationIndex.WaldTest ;
run;
ods pdf close;

使用道具

报纸
jingju11 发表于 2011-8-30 20:33:45 |只看作者 |坛友微信交流群
moyunzheng 发表于 2011-8-30 09:33
ods pdf;
Your code in fact couldn’t complete in my PC. I think the problem is not relevant to PROC CALIS but about how to insert the text between tables. Thus, I illustrate my idea by a convenient data set and procedure.
I don't know if there is a better way to tackle it, for example, managing a template. The way I used is to force SAS to print on each table.
JingJu
  1. ods trace on;
  2. /*list all the table name you want to output */
  3. /*it sounds simpler when you use table name rather than path*/
  4. %let list =nobs anova FitStatistics        ParameterEstimates;
  5. %macro outm;
  6.         %local i; %let i =1;
  7.         %do%while(%scan(&list, &i) ne);
  8.                 ..
  9. %printm
  10. ;
  11. ods _all_ close; ods listing;
复制代码

使用道具

地板
jingju11 发表于 2011-8-30 21:27:03 |只看作者 |坛友微信交流群
Is it a better one? JingJu
  1. data a;
  2. input tab : $32. @@;
  3. cards;
  4. nobs anova FitStatistics        ParameterEstimates
  5. ;
  6. ods listing close;
  7. data _null_;  
  8.        call execute...('ods _all_ close; ods listing;');
  9.         stop;
  10. run;
复制代码

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-2 16:22