<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao ,
Prima descrivo il mio problema, devo menzionare che lavoro con JMP7.
Ho una tabella con 12 colonne, le prime 6 colonne sono parametri descrittivi per ciascuna delle successive 6 colonne. Le prime 6 colonne sono tutti i caratteri e le ultime 6 colonne sono tutte numeriche, binomiali.
Devo eseguire la regressione logistica per ciascuna delle ultime 6 colonne e utilizzare le prime 6 colonne come predittori per estrarre il valore "Prob> ChiSq" dal test "Pearson".
Ora ho creato il seguente script per una delle colonne "Y, Risposta":
dt = Current Data Table();
column_names = dt << Get Column Names(Character, String);
results = New Table("Results", Invisible,
New Column("Parameter", character),
New Column("GEN", numeric),
Add Rows(NItems(column_names))
);
for(i=1,i<=NItems(column_names),i++,
colName = column_names;
cmd = Expr(
ow = dt << Contingency(
Y( :GEN),
X( :cName ),
Contingency Table( 0 ),
Mosaic Plot( 0 )
);
Wait(0.1);
owr = ow<
pValueBox= owr[NumberColBox(6)];
pValue = pValueBox[2];
Column(results,1) = colName;
Column(results,2) = pValue;
ow << Close Window;
);
Substitute Into(cmd,Expr(cName),colName);
Eval(cmd);
);
results << journal;
Close(results);
Quando lo eseguo, funziona perfettamente. Ora, se aggiungo la prossima colonna allo script come:
dt = Current Data Table();
column_names = dt << Get Column Names(Character, String);
results = New Table("Results", Invisible,
New Column("Parameter", character),
New Column("GEN", numeric),
New Column("Ne", numeric),
Add Rows(NItems(column_names))
);
for(i=1,i<=NItems(column_names),i++,
colName = column_names;
cmd = Expr(
ow = dt << Contingency(
Y( :GEN, :Ne),
X( :cName ),
Contingency Table( 0 ),
Mosaic Plot( 0 )
);
Wait(0.1);
owr = ow<
pValueBox= owr[NumberColBox(6)];
pValue = pValueBox[2];
pValueBox1= owr[NumberColBox(12)];
pValue1 = pValueBox1[2];
Column(results,1) = colName;
Column(results,2) = pValue;
Column(results,3) = pValue1;
ow << Close Window;
);
Substitute Into(cmd,Expr(cName),colName);
Eval(cmd);
);
results << journal;
Close(results);
Lo script smette di funzionare. Ho controllato la struttura ad albero e entrambi i NumberColBox si riferiscono ai giusti valori, ma nessun diario è stato creato e lo script smette di funzionare.
Ora, le mie domande:
1) Come posso risolvere la mia situazione quando ho più valori Y statici?
2) È possibile definire il valore Y dinamico attraverso un loop? Diventa complicato per me avere due anelli.
Apprezzo per qualsiasi suggerimento.