Proc Mixed 매크로를 사용하여 매크로 내에서 다른 공분산 구조를 테스트하려고합니다.로그 오류 (매크로 내부)가 발생하지 않는 경우에만 proc 단계 실행 SAS
%macro cov(type);
proc mixed data=tmp order=data;
class sub trt visit;
model var = trt visit trt*visit/S cl;
repeated visit /subject=sub type=&type.;
FitStatistics=min_var_&type.;
run;
%mend;
내가 모델 오류가 발생하고 나는 그것이 & 유형의 값으로 오류가 발생하지 않는 경우이 만 혼합 문을 발동 실행할 수있는 방법을 찾기 위해 노력하고있어에 맞게 필요한 공분산 구조의 일부.
나는 % sysfunc로 작업하고 있지만 아직 해결하지 못했습니다.
이렇게하면 이러한 데이터 세트가 올바르게 생성되지만 장착 할 수없는 매크로 변수에 대해서는 로그에 로그 오류가 존재합니다.
당신은 그런 로그를 파일로 리디렉션 할 수 있습니다
일부 공분산 구조가 오류를 일으키는 이유는 무엇입니까? 'PROC MIXED'를 실행하기 전에 이것을 예측할 수 있습니까? 'PROC MIXED'는 에러를 일으키지 않는 경우에만 실행하도록 지시 할 수는 없지만 에러가 발생한 후에 어떤 일이 일어나는지 제어 할 수 있습니다. 하지만 오류가 발생하지 않는 것이 좋을 것 같습니다. 아마도 문제를 해결하거나 문제를 해결하는 것으로 시작하십시오. 오류의 종류를 나타내는 예제 데이터를 사용하는 것이 좋습니다. – Joe
여러 매크로 집합에 대해이 매크로를 실행 중이며 그 중 일부는 특정 공분산 구조를 사용하고 다른 매크로 집합에서는 적합하지 않습니다. 그리고 proc 혼합에 적합하기 전에, 나는 그 데이터에 대해 어떤 종류의 공분산 구조가 맞는지 알 수 없다. – Laura
목표가 로그의 오류 메시지를 피하고 PROC MIXED가 오류를 발생시키는시기를 예측할 수 없다면 PROC PRINTTO를 사용하여 로그를 리디렉션 한 다음 MIXED를 실행하고 기본 로그로 다시 리디렉션 한 다음 if 대체 로그에 오류가 있었는지 여부를 결정하고 해당 모델을 다시 실행할지 여부를 결정합니다. – Quentin