Steuern der ANOVA-Berichtsausgabe über den Versand mit einer String-VariablenHallo,
Ich versuche mich auf eine Stringvariable zu beziehen ( Colname ) in der Abfertigung, aber es kann die nicht befolgen OutlineBox, {Schließen (0)} (oder Schließen (1) ) im Gegensatz zu dem Zeitpunkt, zu dem der String explizit geschrieben wird.
Würde mich über Ihre Hilfe freuen.
Revital
Hier ist der Code:
For( i = 1, i <= N Items( ColumnNames ), i++,
colname = "Response " || char(colnameames[i]);
Cobj = dt << Fit Model(
Y( colnameames[i] ),
Effects( :Visit, :Group, :Group * :Visit ),
Random Effects( :SubjectNumber[:Group] ),
Personality( "Standard Least Squares" ),
Method( "REML" ),
Emphasis( "Minimal Report" ),
Run(
colnameames[i] << {Analysis of Variance( 0 ), Lack of Fit( 0 ),
Plot Actual by Predicted( 0 ), Plot Regression( 0 ),
Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 ), {:Visit <<
{LSMeans Plot( 1 ), LSMeans Contrast( [1 0 0 -1] )}, :Group << {LSMeans Plot( 1 ),
LSMeans Contrast( [1 0 0 -1] )}, :Group * :Visit << {LSMeans Plot( 1 )}}
),
SendToReport(
Dispatch(
{colname , "Effect Details", "Visit", "Contrast"},
"Test Detail",
OutlineBox,
{Close( 0 )}
),
Dispatch(
{colname , "Effect Details", "Group", "Contrast"},
"Test Detail",
OutlineBox,
{Close( 0 )}
),
Dispatch(
{colname , "Effect Details"},
"SubjectNumber[Group]",
OutlineBox,
{Close( 1 )}
)
)
);Betreff: Steuern der ANOVA-Berichtsausgabe über den Versand mit einer String-VariablenVielen Dank für die Hilfe. Ich habe die Lösung wie in Ihrem Beispiel verwendet und es hat funktioniert !!
Revtal
Betreff: Steuern der ANOVA-Berichtsausgabe über den Versand mit einer String-VariablenSie müssen die Zeichenfolge mit dem Namen des Gliederungsfelds erstellen, bevor Sie den Rest des Ausdrucks auswerten. Sie können dies auf verschiedene Arten tun, indem Sie Strings verwenden. Schauen Sie sich dazu Parse (Substitute ()) und Eval Insert () an, da dies in einigen Fällen eine bessere Wahl sein kann. Eine Möglichkeit besteht jedoch darin, Eval Expr () wie folgt zu verwenden:
Ersetzen Sie Eval (mit Write (Char) und schauen Sie im Protokoll nach, welcher Code tatsächlich ausgewertet wird. Sie können aus dem Protokoll in ein Skriptfenster kopieren und einfügen und dann die Schaltfläche "Skript neu formatieren" verwenden.
Names default to here( 1 );
dt = Open( "$Sample_data/Iris.jmp" );
targets = {"Sepal length", "Petal length"};
For( i = 1, i <= N Items( targets ), i++,
//Here is a Fit Model expression with some parts contained in Expr()
//First the Fit model 'code' goes to Eval Expr() to evalute only those parts
//contained in Expr(). Then it goes to Eval() to actually run the code.
Eval( Eval Expr(
Fit Model(
Y( targets[i] ),
Effects( :Sepal width, :Petal width ),
Random Effects( :Species ),
NoBounds( 1 ),
Personality( "Standard Least Squares" ),
Method( "REML" ),
Emphasis( "Minimal Report" ),
Run(
:Sepal length << {Summary of Fit( 1 ), Analysis of Variance( 0 ),
Parameter Estimates( 1 ), Lack of Fit( 0 ), Plot Actual by Predicted( 0 ),
Plot Regression( 0 ), Plot Residual by Predicted( 0 ),
Plot Studentized Residuals( 0 ), Plot Effect Leverage( 0 )}
),
SendToReport(
Dispatch(
{ Expr( "Response" || targets[i] ) }, //This is evaluated first
"Parameter Estimates",
OutlineBox,
{Close( 1 )}
),
Dispatch(
{ Expr( "Response" || targets[i] ) }, //This is evaluated first
"REML Variance Component Estimates",
OutlineBox,
{Close( 1 )}
),
Dispatch(
{ Expr( "Response" || targets[i] ) }, //This is evaluated first
"Fixed Effect Tests",
OutlineBox,
{Close( 1 )}
)
)
)
) );
);