Ciao, vorrei estrarre, in una tabella di dati, i valori per VIP e coefficienti per dati centrati e scalati dalla finestra di output PLS.
È possibile tramite JSL?
Grazie
Matteo
CIAO,
Penso che questo ti farà quello che vuoi.
È possibile trovare la sezione del report di qualsiasi output facendo clic con il pulsante destro del mouse e selezionando Modifica-->Mostra struttura ad albero.
Ho usato la tabella di esempio del Baltico per questo esempio.
Edit--Show Tree StructureEdit--Show Tree StructureModifica--Mostra struttura ad albero
TableBox(7) VIP tableTableBox(7) VIP table TableBox(7) Tavolo VIP
Ho unito le tabelle utilizzando Tabelle -> JMP Query Builder.
Ecco la sceneggiatura completa.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Baltic.jmp" );
P = Partial Least Squares(
Y( :ls, :ha, :dt ),
X(
:v1,
:v2,
:v3,
:v4,
:v5,
:v6,
:v7,
:v8,
:v9,
:v10,
:v11,
:v12,
:v13,
:v14,
:v15,
:v16,
:v17,
:v18,
:v19,
:v20,
:v21,
:v22,
:v23,
:v24,
:v25,
:v26,
:v27
),
Validation Method( Name( "Leave-One-Out" ), Initial Number of Factors( 15 ) ),
Fit(
Method( NIPALS ),
Number of Factors( 7 ),
Variable Importance Plot( 1 ),
VIP vs Coefficients Plots( 1 )
),
SendToReport(
Dispatch(
{"NIPALS Fit with 7 Factors"},
"Model Coefficients for Centered and Scaled Data",
OutlineBox,
{Close( 0 )}
),
Dispatch(
{"NIPALS Fit with 7 Factors", "Variable Importance Plot"},
"Variable Importance Table",
OutlineBox,
{Close( 0 )}
)
)
);
pls_rpt = p << report; //Get the report
//Find the specific section of report by right-clicking Edit-->show properties
//pls_rpt[Outline Box( 9 )] << Close; //Close the outline box; for example
//pls_rpt[Outline Box( 12 )] << Close; //Close the outline box; not necessary
coef_tbl = pls_rpt[Table Box( 5 )];
VIP_tbl = pls_rpt[Table Box( 7 )];
coef_tbl << Make Into Data Table(Invisible);
tbl_1# = Current Data Table()<< Set Name("Coefficients_Tbl");
VIP_tbl<<MAKE into="" data="https://community.jmp.com/" table=""> "_MEMORY_", "VIP_Tbl" => "_MEMORY_"] ),
QueryName( "SQLQuery2" ),
Select(
Column( "VIP", "t1", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "Coefficient", "t2" ),
Column( "ls", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "ha", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) ),
Column( "dt", "t2", Numeric Format( "Fixed Dec", "4", "NO", "" ) )
),
From(
Table( "VIP_Tbl", Alias( "t1" ) ),
Table(
"Coefficients_Tbl",
Alias( "t2" ),
Join(
Type( Left Outer ),
EQ( Column( "X", "t1" ), Column( "Coefficient", "t2" ) )
)
)
)
) << Run;
Close( tbl_1#, NoSave );
Close( tbl_2#, NoSave );</MAKE>
Saluti,
Stan
In realtà stavo cercando VIP, non VIF, sotto la piattaforma PLS. Non sono riuscito a trovare una tabella contenente sia VIP che coefficienti.
In ogni caso penso di aver trovato una soluzione alternativa. Coefficienti e VIP sono in due riquadri di tabella separati, quindi li estrarrò separatamente.
Grazie
Matteo
Ciao Mike, grazie. Nella struttura ad albero sono stato in grado di identificare un tablebox con solo coefficienti ma non i VIP, in un outlined di pari livello.
Non riesco a trovare alcuna tabella associata al framebox da cui vorrei estrarre i dati (VIP vs coefficienti).
Grazie
Matteo
Ciao Mike, grazie. Nella struttura ad albero sono stato in grado di identificare una tablebox con i coefficienti ma non i VIP.Sembra che la tabella dietro il framebox contenente i coefficienti VIP vs non sia accessibile.