<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hi
Ich habe mir das Beispiel in angesehen https://communities.sas.com/message/134652#134652 versuchen zu verstehen, wie ein nichtlineares Modell mit einer benutzerdefinierten Formel eingerichtet wird. Leider wird das Skript aus dem Beispiel ausgeführt, wenn ich es direkt in mein Skriptfenster eingefügt habe. (Beachten Sie, dass ich den Datensatz erstellt und in einer Datentabelle gespeichert habe, die zur aktuellen Datentabelle wird. Dann habe ich nur die Teile der Skripte ausgeführt, die mit der Modellierung zu tun hatten.)
Ich erhalte eine Fehlermeldung, wenn das Skript an die Zeile kommt, beginnend mit parms:
parms = rnlin1[/*###*/"Nonlinear Fit ID=1"]["Solution"][Table Box( 2 )] <
Das Problem hängt mit einem allgemeineren zusammen, das ich habe, nämlich wie man eigene Formeln formuliert, um Daten anzupassen. Ich sehe einfach nicht, wie es geht. Früher habe ich proc nlin in SAS verwendet, was unkompliziert war und gute Beispiele hatte, aber hier bin ich ratlos. Was gebe ich in die Spalte Formel ein? Und wo sind die Parameter? In einer separaten Datentabelle? Oder?
Grüße
Poul
Hallo nochmal, ich bin immer noch am Grübeln, wie ich die Ergebnisse aus einem Bericht in eine Datentabelle bekomme. Die Syntax entzieht sich mir. Ich möchte eine generische Möglichkeit entwickeln, auf die Ergebnisse beispielsweise eines bivariaten Berichts oder eines nichtlinearen Berichts zuzugreifen. Ich habe mir das Kapitel des Scripting-Handbuchs zu Anzeigebäumen angesehen, und ich denke, dort sind die Informationen. Aber wie kommt man an ein bestimmtes Ergebnis?
Zum Beispiel diese allgemeine Situation, in der my_data Spalten mit X-Variablen und Y-Variablen hat:
meine_daten<
Fit-Linie,
Polynom anpassen (2),
Polynom anpassen (3),
Von (:number_of_instruments));
Wie kann ich auf die in den Bericht eingebetteten Ergebnisse zugreifen und ein Make CombinedDataTable ausführen?
Grüße
Poul
Der erste Befehl erstellt einen Verweis auf einen Bericht. Hier ist nlin das nichtlineare Plattformobjekt, und da es eine By()-Variable hat, besteht es hier aus zwei "Unterberichten", einem für jede ID-Ebene. Der erste dieser Subreports wird durch den Index [1] adressiert.
Der zweite Befehl legt lediglich den Pfad zu einer Tabelle innerhalb des Unterberichts fest und sendet einen Befehl "kombinierte Datentabelle erstellen", der eine Datentabelle mit allen ähnlichen Tabellenfeldern innerhalb des Berichts erstellen sollte.
MS, danke. Das Beispiel funktioniert natürlich.
Könnten Sie erklären, was der Code:
rnlin1=Bericht(nlin[1]);
parms = rnlin1[ . . . .]
tut? Ich sehe, dass es die Parms-Tabelle generiert, aber ansonsten sieht die Syntax seltsam aus, zumindest für mich.
Grüße
Poul
Die Parameter werden im Formeleditor definiert, indem Sie im oberen linken Dropdown-Menü "Parameter" auswählen. Anschließend wird die Formel wie gewohnt mit den Parametern und der unabhängigen Variablen eingegeben.
Die Formel in der Beispieltabelle, auf die Sie sich beziehen, kann auf diese Weise von JSL hinzugefügt werden:
dt = Neue Tabelle ( "nonlin-Beispiel" ,
Zeilen hinzufügen ( 20 ) ,
Neue Spalte ( "ICH WÜRDE" ,
Numerisch ,
Kontinuierlich ,
Format ( "Am besten" , 1 ) ,
Werte einstellen ( [ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ] )
) ,
Neue Spalte ( "x" ,
Numerisch ,
Kontinuierlich ,
Format ( "Am besten" , 12 ) ,
Werte einstellen ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] )
) ,
Neue Spalte ( "y" ,
Numerisch ,
Kontinuierlich ,
Format ( "Am besten" , 12 ) ,
Werte einstellen (
[ 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 << Neue Spalte ( "Formel" , numerisch , Formel ( Parameter ( { b0 = 1 , b1 = 2 } , b0 + b1 * : x ) ) ) ;