Ich habe also ein Skript, das YbyX-Plots erstellt, einen Tukey-T-Test durchführt, dann ein kombiniertes dt mit den p-Werten erstellt und dann basierend auf dem p-Wert auswählt und ausschließt.
Ich habe es derzeit in eine dt << New Script()-Funktion eingebettet, um es in der Quelldatentabelle zu speichern.
Ich bin mir nicht sicher, was los ist, aber wenn ich zum Abschnitt zur Auswahl der p-Werte komme, erhalte ich diese Fehlermeldung:
dt1 << select where("p-Value"n > 0.05);Name ungelöst: p-Wert in Zeile 1 beim Zugriff oder bei der Auswertung von „p-Wert“, „p-Wert“ n /*###*/
Das Seltsame ist, dass es funktioniert, wenn ich das in ein leeres, neues Skriptfenster kopiere und es manuell ausführe. Ich bin mir nicht sicher, was los ist oder warum. Irgendwelche Ideen?
//need to force it to use a certain file name AND force SPC script to label dt appropriately
dtSPC = current data table();
dtSPC << set name( "SPC Data");
/*plotting a basic Fit YbyX just to get pValues. Formatting and style done on final plot*/
ow1 = Oneway(
Y( :MEAN ),
X( :TOOL_PROCESS_CHAMBER ),
By(Chart_ID,),
//All pairs Tukey HSD test
All Pairs(
1,
Confidence Quantile( 0 ),
Difference Matrix( 0 ),
LSD Threshold Matrix( 0 ),
Connecting Letters Report( 0 ),
Ordered Differences Report( 1 )
),
SendToReport(
//x-axis formatting
Dispatch(
{},
"2",
ScaleBox,
{Label Row(
{Label Orientation( "Angled" ), Lower Frame( 1 ),
Show Major Grid( 1 ), Tick Mark Style( "Long Divider" )}
)
}
),
//row legend by chamber
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Marker Size( 6 ), Marker Drawing Mode( "Normal" ),
Row Legend(
:Chamber,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)
}
)
)
);
/***********************************/
/***********************************/
// Create the combined data table of Summary Statistics
dt1 = Report( ow1[1] )["Means Comparisons", "Comparisons for all pairs using Tukey-Kramer HSD","Ordered Differences Report"][Table Box( 1 )] << Make Combined Data Table;
dt1 = current data table();
dt1 << set name( "pValue PairWise by Channel Tukey");
dt1:Chart_ID << Data type( Numeric ) << Set Modeling Type( Nominal );
/***********************************/
/**********************************/
//Screen and show only the Channel_ID's w/ a Tukey pair pVal<0.05
//exclude all high pVal rows, leaving only low pVal Channels. Does not work in reverse.
dt1 << select where("p-Value"n > 0.05);
dt1 << exclude;
dt1 << clear select;
//create a list of remaining Unique Chart_ID
summarize(dt1, uniqueVals=by(:Chart_ID));
//Convert to numeric
For( i = 1, i <= N Items(uniqueVals ), i++,
uniqueVals[i] = Num(uniqueVals[i] )
);
//extra, just to look at the data
//dtUnique = New Table( "uniqueVals less 0.05");
//dtUnique << New Column( "Chart_ID", Values(uniqueVals));
//select on SPC source data just the channels w/ low pVals
//need to choose SPC data table
dtSPC << clear select;
dtSPC << select where( contains( uniqueVals, :Chart_ID));
//invert and exclude, leaving only low pVal Chart_ID's
dtSPC << invert row selection << exclude;
dtSPC << clear select;
//close old stuff
close(dt1);
ow1 << close window;
Versuchen Sie, Ihre Referenz in Zeile 58 von zu ändern
dt1 = Current Data Table();
Zu
current data table( dt1 );
Der Unterschied besteht darin, dass Sie in der ersten Anweisung den Wert von dt1 auf die aktuelle Datentabelle festlegen und JMP möglicherweise nicht auf die von Ihnen gewünschte Tabelle verweist.Die zweite Anweisung erklärt JMP, dt1 als aktuelle Datentabelle festzulegen.