Betreff: Die Spaltenumschalterfunktion im Skript meldet nur die erste VariableIch bin mir nicht sicher, was die Frage ist. Mein Beispiel scheint gut zu funktionieren (oder ich könnte etwas vermissen)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Job Satisfaction.jmp");
obj = dt << Fit Model(
Y(:Satisfaction_Avg),
Effects(
:Support_L, :Goal_L, :Work_L, :Interact_L, :Person_C,
:Interact_L * :Person_C
),
Personality( "Proportional Hazard" ),
Emphasis("Effect Leverage"),
Run(
:Satisfaction_Avg << {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)}
)
);
col_switcher = obj << Column Switcher(
:Person_C,
{:Person_C, :Intra_C, :Inter_C, General_S}
);


Betreff: Die Spaltenumschalterfunktion im Skript meldet nur die erste VariableNachtrag: Ich hatte gehofft, dass die Column Switcher-Funktion neue Effect Summary-Tabellen mit jeder Variable erzeugen würde.Das Skript funktioniert gut mit der ersten Variablen und Sie können dann manuell durch den Spaltenwechsler blättern, um sich die anderen Variablen anzusehen.Ich möchte NICHT manuell durch die Liste blättern müssen.Ist das möglich?
Betreff: Die Spaltenumschalterfunktion im Skript meldet nur die erste VariableDanke Jthi für die schnelle Antwort.Ich habe Ihr Skript in meins eingebaut und das gleiche Problem.Die Ausgabetabelle enthält nur Ergebnisse für Two_Deoxyuridin, aber nicht die anderen Variablen in der Schalterliste.Ich habe Ihr Skript ausgeführt und es funktioniert wie erwartet.
Irgendwelche Ideen, wo ich mit diesem Skript falsch liege?
Annabelle
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :Two_Deoxyuridine_INT,
:APOE_INT * :Two_Deoxyuridine_INT
),
Personality( "Proportional Hazard" ),
Emphasis( "Effect Leverage" ),
Censor( :dth ),
Censor Code( "0" ),
Run(
:dthtt << {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 )}
)
);
ColumnSwitcherObject = obj << Column Switcher(
:Two_Deoxyuridine_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT,
:Two_Hydroxybutyric acid_INT, :Two_Hydroxyglutaric acid_INT,
:Two_ketoisovaleric acid_INT, :Three_Hydroxybutyric acid_INT, :Five_MTHF_INT, Betreff: Die Spaltenumschalterfunktion im Skript meldet nur die erste VariableIch mache Fortschritte!Mein Hauptziel ist es, nach jedem Spaltenwechsel eine Effekt-Wald-Testdatentabelle zu erhalten. Irgendwann werde ich diese Tabellen verketten.Der folgende Code startet automatisch den Spaltenumschalter (dies ist im Protokoll zu sehen) und erzeugt die Effekt-Wald-Test-Datentabelle, aber nur für den ersten Eintrag im Spaltenumschalter.Irgendwelche Ideen, wie man die Effekt-Wald-Testdatentabelle aus jeder Spalte erhält, wenn sie umschaltet?
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :One_5_Anhydroglucitol_INT,
:APOE_INT * :One_5_Anhydroglucitol_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run(
:dthtt << {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 )}
)
);
ColumnSwitcher = obj << Column Switcher(
:One_5_Anhydroglucitol_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT, :Dummy variable_INT}
);
pre = Function( {currentColumn, nextColumn, switcher},
Print(
"Before switch: " || (currentColumn << get name) || " >> " || (nextColumn << get name) ||
" [Column Switcher] current: " || (columnSwitcher << Get Current)
);
If( nextColumn << get name == "Dummy variable_INT",
0,
1
);
);
post = Function( {previousColumn, currentColumn, switcher},
Print(
"After switch: " || (previousColumn << get name) || " >> " || (currentColumn << get name) ||
" [Column Switcher] current: " || (columnSwitcher << Get Current)
)
);
columnSwitcher << Make Column Switch Handler( pre, post );
ColumnSwitcher << Set Script(
obj = Data Table( "MESA 2018Events_Exam2Main_Proteomics_Metabolomics_MARCH 13 2023" ) <<
Fit Model(
Y( :dthtt ),
Effects(
:race1c, :PC1, :PC2, :PC3, :age2c, :gender1, :bmi2c.x, :chol2.x, :curalc2.x, :pkyrs2c.x, :dbp2c.x,
:sbp2c.x, :creatin1.x, :glucos2c.x, :APOE_INT, :One_5_anhydroglucitol_INT,
:APOE_INT * :One_5_anhydroglucitol_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run( Likelihood Ratio Tests( 0 ) ),
Column Switcher(
:One_5_anhydroglucitol_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT, :Dummy variable_INT}
)
);
Report( obj )["Effect Wald Tests", Table Box( 1 )] << Make Into Data Table;
obj << Close Window;
);
ColumnSwitcher << Run;
Wait( 5/*seconds, while it animates*/ );Betreff: Die Spaltenumschalterfunktion im Skript meldet nur die erste VariableHallo
Ich habe mein Problem gelöst und das Skript ist beigefügt.Ein Tipp war, eine Dummy-Variablenspalte in der Haupttabelle zu platzieren und sie nach der letzten Variable für den Spaltenwechsel zu platzieren.Dadurch konnte der Spaltenschalter ordnungsgemäß funktionieren.Mein nächster Schritt besteht darin, alle Datentabellen der Effect-Wald-Tests zu verketten, und ich denke nicht, dass das schwierig sein sollte.Ich hoffe, dieses Skript ist für andere in der Community nützlich.
Annabelle
Betreff: Die Spaltenumschalterfunktion im Skript meldet nur die erste VariableHallo,
Ich habe das endgültige Skript für die Spaltenumschalterfunktion bereitgestellt, um verkettete Datentabellen bereitzustellen.Ich habe Hilfe vom JMP Support erhalten, wie man die Tabellen verkettet. Hoffe, das ist hilfreich für andere.
Annabelle
Die Spaltenumschaltfunktion im Skript meldet nur die erste VariableHallo,
Das folgende Skript gibt einen Ausgabebericht mit der ersten Variablen zum Umschalten (Two_deoxyuridin) zurück, jedoch nicht mit den anderen in der Umschaltliste.Ich habe im Scripting Index, in YouTube-Videos, in der JMP-Community und in den Lesekapiteln von Jump into JMP nach einer Lösung gesucht.Ist die Lösung das Einfügen einer For-Schleife?Ich verwende JMP17.
Ich bin für jede Hilfe dankbar,
Annabelle
obj = dt << Fit Model(
Y( :dthtt ),
Effects(
:race1c, :age2c, :gender1, :APOE_INT, :Two_Deoxyuridine_INT,
:APOE_INT * :Two_Deoxyuridine_INT
),
Personality( "Proportional Hazard" ),
Censor( :dth ),
Censor Code( "0" ),
Run( Likelihood Ratio Tests( 0 ) )
);
ColumnSwitcherObject = obj << Column Switcher(
:Two_Deoxyuridine_INT,
{:One_5_Anhydroglucitol_INT, :Two_Deoxyuridine_INT, :Two_Hydroxybutyric acid_INT,
:Two_Hydroxyglutaric acid_INT}
);Automatisierung und SkripterstellungQualitäts- und Verfahrenstechnik