Ich habe eine LCA-Analyse zu Umfragefragen durchgeführt. Im Abschnitt „Parameterschätzungen“ des generierten Berichts befindet sich eine Tabelle. Wenn ich es exportiere, werden die zusammengeführten Zellen oben nicht exportiert. Zum Beispiel:
Cluster 1: [Obere Spalte: Bundesstaat]
[AZ] [VA], [DC], [TX]
Es exportiert nur den Cluster und die Parameterschätzungen für [AZ] [VA], [DC], [TX]. Ich möchte alles Sichtbare exportieren, einschließlich der oberen Spalte mit zusammengeführten Zellen.
Ich hoffe, jemand in der Community hat eine bessere Lösung als die, die ich mir ausgedacht habe. Mir ist keine direkte Möglichkeit bekannt, die übergreifenden Überschriften zu den Spaltenüberschriften in einer Ausgabedatentabelle hinzuzufügen. Ich habe jedoch ein Beispielskript geschrieben, das tun kann, was Sie wollen.
Es wird eine LCA-Analyseausgabe benötigt

und geben Sie die Parameterschätzungstabelle mit den Spanning-Headern vor jeder Spalte aus

Hier ist das Beispielskript
Names Default To Here( 1 );
// Run a LCA
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
dt << Latent Class Analysis(
Y( :sex, :marital status, :country, :size, :type ),
Set Random Seed( 12345 ),
Number of Clusters( 3 ),
);
// Create an output table will all header names in each column's name
obj = current report()[OutlineBox(1)];
// Get the number of tiles that span across columns
numSpans = Length( (obj << xpath( "//ColSpanBox" )) );
// Loop across the spanning titles and add the title as a prefix to the column name
For( span = 1, span <= numSpans, span++,
// Get the header
theHeading = obj["Parameter Estimates"][Col Span Box( span )] << get heading;
// Get the column names for the current spanning header
theCols = obj["Parameter Estimates"][Col Span Box( span )] << get text;
// Loop across each column name in the span
subColNum = 1;
While( Try( Word( subColNum, theCols, "\!n\!t\!r" ), "" ) != "",
targetCol = Word( subColNum, theCols, "\!n\!t\!r" );
// Loop across all numeric column and when a match is found change the column name
numCol = 2;
While(
Try( obj["Parameter Estimates"][Number Col Box( numCol )] << get heading, "" )
!= "",
theNumberColBoxHeader = obj["Parameter Estimates"][Number Col Box( numCol )]
<< get heading;
If( targetCol == theNumberColBoxHeader,
obj["Parameter Estimates"][Number Col Box( numCol )] <<
set heading( theHeading || " " || targetCol )
);
numCol++;
);
subColNum++;
);
);
// Create the output data table
obj["Parameter Estimates", Table Box( 1 )] << Make into data table;
Das ist beeindruckend @txnelson, Sie haben keine Ahnung, wie viel Zeit Sie mir geholfen haben, zu sparen. Ein großes Lob an Sie, Sir!