<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao
Ho guardato l'esempio in https://communities.sas.com/message/134652#134652 per cercare di capire come impostare un modello non lineare con una formula personalizzata. Sfortunatamente lo script dell'esempio viene eseguito quando l'ho incollato direttamente nella finestra dello script. (Nota, ho creato il set di dati e l'ho salvato in un datatable, che diventa la tabella dei dati correnti. Poi ho appena eseguito le parti degli script che avevano a che fare con la modellazione.)
Ottengo un errore, quando lo script arriva alla riga, iniziando con parms:
parms = rnlin1[/*###*/"Nonlinear Fit ID=1"]["Solution"][Table Box( 2 )] <
Il problema è connesso con uno più generale, che ho io, riguardante come formulare le proprie formule a cui adattare i dati. Semplicemente non vedo come farlo. Usavo proc nlin in SAS, che era semplice e aveva buoni esempi, ma qui sono perplesso. Cosa inserisco nella colonna Formula? E dove sono i parametri? In un Datatable separato? O?
Saluti
Pol
Ciao di nuovo, sto ancora cercando di capire come ottenere i risultati da un rapporto in una tabella di dati. La sintassi mi sfugge. Voglio sviluppare un modo generico per accedere ai risultati, ad esempio, di un rapporto bivariato o di un rapporto non lineare. Ho esaminato il capitolo delle guide di scripting sugli alberi di visualizzazione e penso che sia lì che si trovano le informazioni. Ma come ottenere un risultato specifico?
Ad esempio questa situazione generica, in cui my_data ha colonne X-variable e Y-variable:
my_data<
Linea adatta,
Adatta polinomio (2),
Adatta polinomio (3),
Di (:numero_di_strumenti));
Come posso accedere ai risultati incorporati nel report ed eseguire un Make CombinedDataTable?
Saluti
Pol
Il primo comando crea un riferimento a un report. Qui nlin è l'oggetto piattaforma non lineare, e poiché ha una variabile By() qui è costituito da due "sottoreport", uno per ogni livello di ID. Il primo di questi sottoreport è indirizzato dall'indice [1].
Il secondo comando imposta semplicemente il percorso di una tabella all'interno del sottoreport e invia un comando "crea dati combinati" che dovrebbe creare un datatable con tutte le caselle di tabella simili all'interno del report.
MS, grazie. L'esempio funziona, ovviamente.
Potresti spiegare qual è il codice:
rnlin1=Report(nlin[1]);
parms = rnlin1[ . . . .]
fa? Vedo che genera la tabella parms, ma per il resto la sintassi sembra strana, almeno per me.
Saluti
Pol
I parametri vengono definiti nell'editor delle formule scegliendo "Parametri" nel menu a tendina in alto a sinistra. Quindi la formula viene inserita come di consueto utilizzando i parametri e la variabile indipendente.
La formula nella tabella di esempio a cui fai riferimento può essere aggiunta in questo modo da JSL:
dt = Nuova Tavola ( "esempio nonlin" ,
Aggiungi righe ( 20 ) ,
Nuova Colonna ( "ID" ,
Numerico ,
Continuo ,
Formato ( "Migliore" , 1 ) ,
Imposta valori ( [ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ] )
) ,
Nuova Colonna ( "X" ,
Numerico ,
Continuo ,
Formato ( "Migliore" , 12 ) ,
Imposta valori ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] )
) ,
Nuova Colonna ( "y" ,
Numerico ,
Continuo ,
Formato ( "Migliore" , 12 ) ,
Imposta valori (
[ 14.007192425 , 17.212873694 , 19.206116204 , 22.698900479 , 26.547313123 , 27.964537384 ,
32.187880488 , 34.471305291 , 37.982516136 , 39.725363966 , 18.727600524 , 20.500227504 ,
18.715068521 , 22.667963466 , 25.505984818 , 25.947839552 , 27.933068812 , 31.390339224 ,
32.390010591 , 34.514002505 ]
)
)
) ;
dt << Nuova Colonna ( "Formula" , numerico , Formula ( Parametro ( { b0 = 1 , b1 = 2 } , b0 + b1 * : X ) ) ) ;