Latent Class Analysis
Latent Class Analysis using Set Selected
Summary: This JSL script launches the LCA , opens a data table, clears column selection, and selects specific variables for analysis before running Latent Class Analysis.
Code:
// Launch LCA
// Open data table
dt = Open("data_table.jmp");
// Launch LCA
_cdt = Current Data Table();
_cdt << Clear Column Selection;
_cdt:"Drove 1+ times when drinking"n <<
Set Selected( 1 );
_cdt:Smoked cigarette before 13 <<
Set Selected( 1 );
_cdt:Smoked daily for 30 days <<
Set Selected( 1 );
_cdt:Had first drink before 13 <<
Set Selected( 1 );
_cdt:"Five+ drinks 1+ past 30 days"n <<
Set Selected( 1 );
_cdt:Tried marijuana before 13 <<
Set Selected( 1 );
_cdt:"Used cocaine 1+ times in life"n <<
Set Selected( 1 );
_cdt:"Sniffed glue 1+ times in life"n <<
Set Selected( 1 );
_cdt:"Used meth 1+ times in life"n <<
Set Selected( 1 );
_cdt:"Used ecstasy 1+ times in life"n <<
Set Selected( 1 );
_cdt:Had sex before 13 <<
Set Selected( 1 );
_cdt:"Had sex with 4+ people in life"n
<< Set Selected( 1 );
Latent Class Analysis();
Window()[N Items( Window() )][
Button Box( 1 )] << click;
Code Explanation:
- Open data table.
- Launch LCA .
- Clear column selection.
- Select "Drove 1+ times when drinking".
- Select "Smoked cigarette before 13".
- Select "Smoked daily for 30 days".
- Select "Had first drink before 13".
- Select "Five+ drinks 1+ past 30 days".
- Select "Tried marijuana before 13".
- Run Latent Class Analysis.
Example 1
Summary: Opens a data table and performs Latent Class Analysis with 5 clusters, using the specified response variables.
Code:
// Latent Class Analysis
// Open data table
dt = Open("data_table.jmp");
// Latent Class Analysis
Latent Class Analysis(
Y(
:"Drove 1+ times when drinking"n,
:Smoked cigarette before 13,
:Smoked daily for 30 days,
:Had first drink before 13,
:"Five+ drinks 1+ past 30 days"n,
:Tried marijuana before 13,
:"Used cocaine 1+ times in life"n,
:"Sniffed glue 1+ times in life"n,
:"Used meth 1+ times in life"n,
:"Used ecstasy 1+ times in life"n,
:Had sex before 13,
:
"Had sex with 4+ people in life"n
),
Number of Clusters( 5 )
);
Code Explanation:
- Open data table.
- Run Latent Class Analysis.
- Specify response variables.
- Set number of clusters to 5.
Example 2
Summary: Process of performing Latent Class Analysis on a data table, specifying sex, marital status, country, and size variables, with 3 clusters, and generating a report.
Code:
dt = Open("data_table.jmp");
obj = dt << Latent Class Analysis( Y( :sex, :marital status, :country, :size ), Number of Clusters( 3 ) );
rpt = obj << report;
Code Explanation:
- Open data table;
- Perform Latent Class Analysis.
- Specify sex, marital status, country, size.
- Set number of clusters to 3.
- Generate analysis report.
Example 3
Summary: Runs Latent Class Analysis on a data table, specifying six variables and allowing up to 7 clusters, then generates a report with cluster counts.
Code:
dt = Open("data_table.jmp");
obj = dt << Latent Class Analysis(
Y(
:I am working on my career, :I want to see the world, :My home needs some major improvements,
:I have vast interests outside of work, :I want to get my debt under control, :I come from a large family
),
Number of Clusters( 3 ),
Up to( 7 )
);
rpt = obj << report;
bmrk ncluster = [3, 4, 5, 6, 7];
ncluster = rpt[Number Col Box( "NCluster" )] << get as matrix;
bmrk rmv = [3, 4, 5, 7];
rmv fit = obj << (Fit[4] << Remove Fit);
rmv rpt = rmv fit << report;
rmv ncluster = rpt[Number Col Box( "NCluster" )] << get as matrix;
Code Explanation:
- Open data table;
- Perform Latent Class Analysis.
- Specify six variables for analysis.
- Set number of clusters to 3.
- Allow up to 7 clusters.
- Generate analysis report.
- Define bookmarked cluster numbers.
- Extract actual cluster count from report.
- Define clusters to remove.
- Remove specified fits from analysis.
Example 4
Summary: Runs latent class analysis to identify patterns in categorical data, specifying 3 clusters and up to 7 possible classes.
Code:
Open("data_table.jmp");
obj = Latent Class Analysis( Y( :sex, :marital status, :country, :size, :type ), Number of Clusters( 3 ), Up To( 7 ) );
Code Explanation:
- Open data table;
- Perform latent class analysis.
- Specify response variables.
- Set number of clusters to 3.
- Define up to 7 clusters.
Example 5
Summary: Process of performing latent class analysis on a dataset, specifying response variables and setting the number of clusters to 3 with an upper limit of 7.
Code:
dt = Open("data_table.jmp");
obj = Latent Class Analysis( Y( :sex, :marital status, :country, :size, :type ), Number of Clusters( 3 ), Up To( 7 ) );
Code Explanation:
- Open data table;
- Assign dataset to dt.
- Perform latent class analysis.
- Specify response variables.
- Set number of clusters to 3.
- Allow up to 7 clusters.
Latent Class Analysis using Set Property
Summary: Process of performing Latent Class Analysis (LCA) on a data table, generating a report with cluster results.
Code:
dt = Open("data_table.jmp");
:country << Set Property( "Value Colors", {"American" = -13977687, "European" = 6, "Japanese" = 52} );
exp_colorlist = [-13977687, 6, 52];
obj = dt << Latent Class Analysis( Y( :sex, :marital status, :country ), Number of Clusters( 3 ) );
rpt = obj << report;
Code Explanation:
- Open table.
- Set country colors.
- Define color list.
- Perform LCA.
- Generate report.
Latent Class Analysis using If
Summary: Runs the analysis and reporting process for a Text Explorer object in JMP Pro, utilizing Latent Class Analysis to identify patterns in text data.
Code:
If( JMP Product Name() == "Pro",
dt = Open("data_table.jmp");
obj = Text Explorer(
Text Columns( :name ),
Validation( :age ),
ID( :sex ),
Set Regex( Library( "Money" ), Library( "Words" ), Library( "HTML Link Grabber" ), Library( "Time" ), Library( "Numbers" ) ),
Language( "English" )
);
dt << Delete Columns( :age, :sex );
obj << Latent Class Analysis(
Number of Clusters( 5 ),
Maximum Number of Terms( 39 ),
Minimum Term Frequency( 1 ),
Set Random Seed( 452418151 )
);
rep = obj << report;
Close( dt, nosave );
);
Code Explanation:
- Check if JMP version is Pro.
- Open data table;
- Create Text Explorer object.
- Specify text columns.
- Set validation column.
- Define ID column.
- Load regex libraries.
- Set language to English.
- Delete age and sex columns.
- Perform Latent Class Analysis.
- Generate report.
- Close dataset without saving.