Hallo, in einem Skript von mir möchte ich den Moment erkennen, in dem ein Benutzer mit dem Lösungspfad in gener reg interagiert (indem er die Vertikallinie im Lösungspfaddiagramm zieht), um einige benutzerdefinierte Diagramme basierend auf dem ausgewählten Modell zu generieren. Irgendein Vorschlag? Vielen Dank im Voraus, Matteo
Ich habe eine mögliche Lösung mit mousetrap () gefunden, leider mit einigen Nachteilen
1) Wenn der erste Benutzer auf den Lösungspfad klickt, wird eine Schaltfläche zum Aktualisieren angezeigt. Danach wird die Interaktivität des Lösungspfads wie üblich wiederhergestellt.
2) Wenn der Benutzer auf die Schaltfläche "Aktualisieren" klickt, wird die Ausgangssituation wiederhergestellt.
Ich werde dann Modellausarbeitungsfunktionen in das Skript für die Schaltfläche "Aktualisieren" einfügen.
Ich war auf der Suche nach einer besseren Lösung, die für den Benutzer nicht so gut sichtbar ist und keine Eingriffe erfordert. Ich würde mich freuen, wenn jemand einen Vorschlag zur Verbesserung des nachstehenden Codes unterbreiten könnte.
Vielen Dank
Matteo
m = Fit Model(
Y( :Y ),
Effects( :X1, :X2, :X3 ),
Personality( "Generalized Regression" ),
Generalized Distribution( "Normal" ),
Run( Fit( Estimation Method( Lasso( Adaptive ) ), Validation Method( AICc ) ) )
);
f1 = (m << report)[Outline Box( "Solution Path" )][frame box( 1 )];
f2 = (m << report)[Outline Box( "Solution Path" )][frame box( 2 )];
setSolutionPathTraps = Function( {fb1, fb2, bb},
Eval(
Eval Expr(
fb1 << add graphics script(
Mousetrap(
bb << visibility( "visible" ),
Expr( fb2 ) << remove graphics script( 1 );
Expr( fb1 ) << remove graphics script( 1 );
)
);
fb2 << add graphics script(
Mousetrap(
bb << visibility( "visible" ),
Expr( fb1 ) << remove graphics script( 1 );
Expr( fb2 ) << remove graphics script( 1 );
)
);
)
);
bb << visibility( "collapse" );
);
New Window( "a", bb = Button Box( "Refresh", setSolutionPathTraps( f1, f2, bb ) ) );
setSolutionPathTraps( f1, f2, bb );