상호 작용이 있는 회귀 보고서에 대한 사용자 입력 목록사용자가 회귀 보고서에서 실행할 열을 선택할 수 있는 입력 상자가 있습니다. 이 부분은 훌륭하게 작동합니다. 그런 다음 열 목록을 목록에 삽입합니다. 열 목록을 가져와 회귀 보고서에 삽입할 수 있는 다양한 상호 작용을 만들고 싶습니다. 특히, 저는 약간 더 복잡한 상호 작용(예: 열 1 * 열 2 ^2)에 관심이 있습니다. 회귀 보고서에 일반 목록만 입력하려고 하면 보고서가 실행되지 않습니다. 보고서에서 이러한 상호 작용을 만들려면 어떻게 해야 합니까?
사용자 입력 목록 판독값은 {"Column 1", "Column 2", "Column 3"}과 같습니다.
플랫폼 = dt << 모델 적합(
Y( :Char(변수)),
효과(
여기에 무엇을 가야합니까?????
),
성격( "일반화된 회귀" ),
일반화된 분포( "정상"),
운영(
Fit( 추정 방법( Two Stage Forward Selection ), 검증 방법( AICc ), Enforce Heredity )
)
);
암사슴스크립팅Re: 상호 작용이 있는 회귀 보고서에 대한 사용자 입력 목록스크립팅 인덱스에는 아래에 복사된 효과에 대한 예가 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Dogs.jmp" );
obj = Fit Model(
Y( :LogHist0, :LogHist1, :LogHist3, :LogHist5 ),
Effects( :drug, :dep1, :drug * :dep1 ),
Personality( Manova ),
Run( Response Function( Sum ) )
);
Re: 상호 작용이 있는 회귀 보고서에 대한 사용자 입력 목록이것을 처리하는 한 가지 방법이 있습니다.
names default to here(1);
dt=data table("big class");
variable = "Age";
// If you build your list as expressions the code below works
effectsList = {height, weight, weight * height};
Fit Model(
Y( :char(variable) ),
Effects( eval(effectsList) ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" ),
Run(
:char(variable) << {Summary of Fit( 1 ), Analysis of Variance( 1 ),
Parameter Estimates( 1 ), Scaled Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 0 ),
Plot Effect Leverage( 1 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 0 )}
)
);
/*
// If you build your list using strings
effectsList = {"height", "weight", "weight * height"};
// You can convert the elements back to expressions by
// using the Parse() function
For( i = 1, i <= N Items( effectsList ), i++,
effectsList[i] = Parse( effectsList[i] );
);Re: 상호 작용이 있는 회귀 보고서에 대한 사용자 입력 목록표현식을 사용하는 또 다른 방법이 있습니다. 이 예제 외에도 표현식을 기반으로 하는 솔루션이 더 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Dogs.jmp" );
predictor = { :drug, :dep1 };
n = N Items( predictor );
effectExpr = Expr( Effects() );
For( x1 = 1, x1 < n, x1++,
Insert Into( effectExpr, predictor[x1] );
For( x2 = 2, x2 <= n, x2++,
Eval(
Substitute(
Expr( Insert Into( effectExpr, Expr( xxx1 * xxx2 ) ) ),
Expr( xxx1 ), predictor[x1],
Expr( xxx2 ), predictor[x2]
)
)
);
);
Show( Name Expr( effectExpr) );
Eval(
Substitute(
Expr(
obj = dt << Fit Model(
Y( :LogHist0, :LogHist1, :LogHist3, :LogHist5 ),
eee,
Personality( Manova ),
Run( Response Function( Sum ) )
);
),
Expr( eee ), Name Expr( effectExpr )
)
);