Come raggruppare e ottenere pendenze in uno script del modello di adattamento JSLCIAO,
Sto cercando di adattare i dati al gruppo e ottenere la pendenza e il numero R al quadrato. Sto usando il set di dati sulla pesca come esempio qui.
Ho impilato i dati in modo che il riepilogo venga emesso facilmente come una singola colonna, quindi ho bisogno di diffondere nuovamente le colonne.
Così ho fatto
fishing_stacked = dt << Stack(
columns(
:Fish Caught,
:Live Bait,
:Fishing Poles,
:Camper,
:People,
:Children,
:Fished
),
Source Label Column( "Label" ),
Stacked Data Column( "Data" )
);

Voglio raggruppare i dati per Convalida colonna e fit (asse Y = Pesce pescato ) e l'asse X sono " Esca viva , Canne da pesca , Camper ...." e ottieni il valore della pendenza e il numero R al quadrato come nuove colonne.
Ecco il post precedente ma non so come applicarlo al mio set di dati.
https://community.jmp.com/t5/Discussions/Save-Parameter-Estimates-of-Linear-Regression-with-by-Variable/td-p/13123
Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLgrazie Jim, sei di grande aiuto!Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLMi avvicinerei a questo in modo diverso.Inserendo tutto l'output in un'unica finestra, il file
<< Crea tabella dati combinati
funzionerà come desiderato.Lavorare su finestre separate sarà un problema.
Scelgo di modificare l'elenco di colonne x che si desidera utilizzare, quindi applicarlo a una sola esecuzione Bivariata
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Fishing.jmp" );
colList = dt << get column names( string );
For( i = N Items( colList ), I >= 1, i--,
If( Contains( colList[i], "Validation" ) | Contains( colList[i], "People" ),
Remove From( colList, i, 1 )
)
);
biv = Bivariate(invisible,
Y( :Fish Caught ),
X( eval(colList) ),
Fit Line( {Line Color( "Medium Dark Red" )} ),
By( :Validation )
);
// Create the data table of RSqares
dtR2 = report(biv[1])["Summary of Fit"][tablebox(1)]<< make combined data table;
dtSlope = report(biv[1])["Parameter Estimates"][tablebox(1)]<< make combined data table (invisible);
dtR2 << select where(:Column 1 != "RSquare");
dtR2 << delete rows;
dtR2:Column 2 << set name("RSquare");
dtR2 << delete Columns({"Validation 2","Column 1"});
C'è anche una piattaforma che potresti voler esplorare, che produce direttamente il rapporto che desideri.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Fishing.jmp" );
colList = dt << get column names( string );
For( i = N Items( colList ), I >= 1, i--,
If( Contains( colList[i], "Validation" ) | Contains( colList[i], "People" ) |
Contains( colList[i], "Fish Caught" ),
Remove From( colList, i, 1 )
)
);
Response Screening(
Y( :Fish Caught ),
X( eval(colList) ),
Where( Format( :Validation ) == "Training" )
);
Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLSe voglio scorrere le colonne (ho molte colonne nei dati reali) e non includere quelle che contengono una certa stringa come scorrerle?
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Fishing.jmp");
colList = dt << get column names( string );
For( i = 1, i <= N Items( colList ), i++,
If( ! Contains( colList[i], "Validation") & ! Contains( colList[i], "People") ,
biv = Bivariate(invisible,
Y( :Fish Caught ),
X( :i),
Fit Line( {Line Color( "Medium Dark Red" )} ),
By( :Validation )
);
// Create the data table of RSqares
dtR2 = report(biv[1])["Summary of Fit"][tablebox(1)]<< make combined data table;
dtSlope = report(biv[1])["Parameter Estimates"][tablebox(1)]<< make combined data table (invisible);
dtR2 << select where(:Column 1 != "RSquare");
dtR2 << delete rows;
dtR2:Column 2 << set name("RSquare");
dtR2 << delete Columns({"Validation 2","Column 1"});Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLRi: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLCerto, lo fa! È possibile utilizzare la piattaforma Bivariata o la piattaforma Stima dei minimi quadrati per stimare la pendenza nel modello di regressione lineare semplice. C'è anche una funzione Regressione lineare () se hai bisogno di tali stime in una formula o in uno script.
Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLJMP non dispone di un modulo di calcolo predefinito per la pendenza?Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSL1. L'analisi non può essere eseguita direttamente dalla tabella dei dati in pila.Per eseguire le bivariate, Fish Caught deve trovarsi in una colonna separata e accoppiato con ciascuno degli X Factor.Tuttavia, penso che quello che potresti volere sia solo il formato di output,

e questo script lo produce dalla tabella dati originale
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Fishing.jmp");
biv = Bivariate(invisible,
Y( :Fish Caught ),
X( :Live Bait,
:Fishing Poles,
:Camper,
:People,
:Children,
:Fished),
Fit Line( {Line Color( "Medium Dark Red" )} ),
By( :Validation )
);
// Create the data table of RSqares
dtR2 = report(biv[1])["Summary of Fit"][tablebox(1)]<< make combined data table;
dtSlope = report(biv[1])["Parameter Estimates"][tablebox(1)]<< make combined data table(invisible);
dtR2 << select where(:Column 1 != "RSquare");
dtR2 << delete rows;
dtR2:Column 2 << set name("RSquare");
dtR2 << delete Columns({"Validation 2","Column 1"});
// Create the data table of Slopes
dtSlope << select where(:Term == "Intercept");
dtSlope << delete rows;
dtSlope:Estimate << set name( "Slope");
dtSlope << delete columns({"Validation 2","Term","~Bias","Std Error","t Ratio","Prob>|t|"});
// Put the data together
dtR2 << Update(
With( dtSlope ),
Match Columns( :Validation = :Validation, :X = :X, :Y = :Y )
);
// Clean up the items not needed
close(dtSlope, nosave);
window("Fishing - Bivariate of Fish Caught") << close window;Ri: Come raggruppare e ottenere pendenze in uno script del modello di adattamento JSLgrazie ma come posso ottenere la pendenza e il numero quadrato R estratti dai grafici bivariati? Inoltre, possiamo farlo nella versione in pila dei dati Fish come mostrato nella tabella?Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLNamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Fishing.jmp");
xList = {:Fishing Poles, :People, :Children};
biv = dt << Bivariate(Y(:Fish Caught), X(Eval(xList)), By(:Validation), FitLine(1));Ri: Come raggruppare e ottenere pendenze in uno script del modello di adattamento JSLPossiamo farlo come script JSL?Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLNon sono sicuro che l'impilamento aiuterà, data l'analisi che intendi. Proverei a selezionare Analizza > Adatta Y per X. Seleziona Pesce catturato e fai clic su Y. Selezionare le altre colonne e fare clic su X. Selezionare Convalida e fare clic su Per, quindi fare clic su OK. Tieni premuto il tasto Ctrl (Windows) o Comando (Macintosh), fai clic sul triangolo rosso accanto a Bivariata e seleziona Adatta linea.Fare clic con il pulsante destro del mouse sulla tabella in Riepilogo dell'adattamento e selezionare Trasforma in tabella combinata. Fare clic con il pulsante destro del mouse sulla tabella in Stime dei parametri e selezionare Trasforma in tabella combinata.
Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLè così difficile farlo?Ri: Come raggruppare e ottenere le pendenze in uno script del modello di adattamento JSLqualche soluzione a questo?