<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sono nuovo di jmp e jsl e non riesco a capire perché il codice sottostante produce un errore.
dt = open("simple.csv");
xyz = New Table("xyz", invisible);
//Current Data Table(dt);
fm = Fit Model(
Y(dt:X),
Effects(dt:Y),
Personality(Standard Least Squares),
Run Model,
Invisible
);
Print(fm);
Close(xyz);
Close(dt);
Questo produce il seguente errore:
Cannot run without Y Responses
Specified Column not found in data table.{1} in access or evaluation of 'List' , {dt:X}Column not Found{1} in access or evaluation of 'dt:Y' , dt:Y
In the following script, error marked by /*###*/
Fit Model(
Method( "EMS", < Emphasis( "Effect Screening", < Keep dialog open( 1 ),
Y( dt:X ),
Effects( dt:Y ),
Personality( Standard Least Squares ),
Run Model,
Invisible
)
Model Dialog[]
Tuttavia, se non creo il xyz tavolo, o se lo chiudo prima di farlo Fit Model , o se annullo il Tabella dati corrente (dt) , quindi funziona. Quindi sembrerebbe quello Fit Model può funzionare solo sulla tabella corrente. È un bug in jmp o mi manca qualcosa?
Non che io sappia. Generalmente uso solo il riferimento ": X" negli script di piattaforma.
Va bene, grazie! Quindi, dato che le piattaforme funzionano solo sulla tabella corrente, c'è qualche punto per riferirsi alle colonne come "dt: X" piuttosto che ": X"?
Le piattaforme generalmente funzionano sulla tabella di dati corrente. Tuttavia, è possibile rendere più robusto lo script utilizzando l'operatore di invio (<<) per indicare esplicitamente a quale tabella deve essere applicata la chiamata alla piattaforma:
dt = open ("simple.csv");
xyz = Nuova tabella ("xyz", invisibile);
// Tabella dati attuali (dt);
fm = dt << Fit Model (
Y (dt: X),
Effetti (dt: Y),
Personalità (minimi quadrati standard),
Esegui modello,
Invisibile
);