Factor Analysis

Associated Constructors

Factor Analysis

Syntax: Factor Analysis( Y( columns ) )

Description: Uncovers the underlying structure of data by extracting unobserved variables, or factors, that represent the common variability across observed variables. Factor rotation is used to increase their interpretability.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);

Columns

Freq

Syntax: obj << Freq( column )


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_freqcol", Numeric, Continuous, Formula( Random Integer( 1, 5 ) ) );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    Freq( _freqcol )
);

Weight

Syntax: obj << Weight( column )


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_weightcol", Numeric, Continuous, Formula( Random Beta( 1, 1 ) ) );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    Weight( _weightcol )
);

Y

Syntax: obj << Y( column(s) )


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);

Item Messages

Bartlett's Test of Sphericity

Syntax: obj << Bartlett's Test of Sphericity( state=0|1 )

Description: Shows or hides a report of the homogeneity test that determines whether the eigenvalues have equal variances.

JMP Version Added: 16


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Estimation( "REML" ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Bartlett's Test of Sphericity( 1 );

Eigenvalues

Syntax: obj << Eigenvalues( state=0|1 )

Description: Shows or hides a table of the eigenvalues of the original correlation, covariance, or unscaled matrix. The table includes the percent of the total variance represented by each eigenvalue, a bar chart illustrating the percent contribution, and the cumulative percent contributed by each successive eigenvalue. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Estimation( "REML" ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
Wait( 1 );
obj << Eigenvalues( 0 );

Fit

Syntax: obj << Fit( "PC"|"ML", "ONE"|"SMC", number, rotation method )

Description: Fits a factor analysis model using the specified factoring method, prior communality, number of factors, and rotation method. The available factoring methods are Principal Axis (PC) and Maximum Likelihood (ML). You can set all of the prior communalities equal to one (ONE) or equal to the squared multiple correlation (SMC) coefficients. The available rotation methods are Varimax, Biquartimax, Equamax, Factorparsimax, Orthomax, Parsimax, Quartimax, Biquartimin, Covarimin, Obbiquartimax, Obequamax, Obfactorparsimax, Oblimin, Obparsimax, Obquartimax, Obvarimax, and Promax.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" )
);
obj << Fit( "ML", "SMC", 2, "Varimax" );

Kaiser-Meyer-Olkin Test

Syntax: obj << "Kaiser-Meyer-Olkin Test"n( state=0|1 )

Description: Shows or hides the results of the Kaiser-Meyer-Olkin (KMO) test. The test is an indicator of the proportion of variance that might be common variance, potentially due to underlying factors.

JMP Version Added: 16


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Estimation( "REML" ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << "Kaiser-Meyer-Olkin Test"n( 1 );

Scree Plot

Syntax: obj << Scree Plot( state=0|1 )

Description: Shows or hides a line plot of the eigenvalues for each component. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Estimation( "REML" ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
Wait( 1 );
obj << Scree Plot( 0 );

Variance Estimation

Syntax: obj = Factor Analysis(...Variance Estimation( "REML"| "ML"| "Robust"| "Row-wise"| "Pairwise" )...)

Description: Sets the estimation method for computing the correlations.

If there are no missing values, then the default is Row-wise.

If there are missing values, and the number of variables <= 10 and the number of rows <=5000, then the default is REML.

If there are missing values, and the number of variables > 10 or number of rows > 5000, then the default is Pairwise.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Estimation( "Robust" ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);

Variance Scaling

Syntax: obj = Factor Analysis(...Variance Scaling( "Correlations"| "Covariances"| "Unscaled")...)

Description: Specifies the method that is used for variance scaling.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Estimation( "REML" ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);

Shared Item Messages

Action

Syntax: obj << Action

Description: All-purpose trapdoor within a platform to insert expressions to evaluate. Temporarily sets the DisplayBox and DataTable contexts to the Platform.


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Bivariate(
    Y( :height ),
    X( :weight ),
    Action( Distribution( Y( :height, :weight ), Histograms Only ) )
);

Apply Preset

Syntax: Apply Preset( preset ); Apply Preset( source, label, <Folder( folder {, folder2, ...} )> )

Description: Apply a previously created preset to the object, updating the options and customizations to match the saved settings.

JMP Version Added: 18

Anonymous preset


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Oneway( Y( :height ), X( :sex ), t Test( 1 ) );
preset = obj << New Preset();
dt2 = Open( "$SAMPLE_DATA/Dogs.jmp" );
obj2 = dt2 << Oneway( Y( :LogHist0 ), X( :drug ) );
Wait( 1 );
obj2 << Apply Preset( preset );

Search by name


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Oneway( Y( :height ), X( :sex ) );
Wait( 1 );
obj << Apply Preset( "Sample Presets", "Compare Distributions" );

Search within folder(s)


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Oneway( Y( :height ), X( :sex ) );
Wait( 1 );
obj << Apply Preset( "Sample Presets", "t-Tests", Folder( "Compare Means" ) );

Automatic Recalc

Syntax: obj << Automatic Recalc( state=0|1 )

Description: Redoes the analysis automatically for exclude and data changes. If the Automatic Recalc option is turned on, you should consider using Wait(0) commands to ensure that the exclude and data changes take effect before the recalculation.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Automatic Recalc( 1 );
dt << Select Rows( 5 ) << Exclude( 1 );

Broadcast

Syntax: obj << Broadcast(message)

Description: Broadcasts a message to a platform. If return results from individual objects are tables, they are concatenated if possible, and the final format is identical to either the result from the Save Combined Table option in a Table Box or the result from the Concatenate option using a Source column. Other than those, results are stored in a list and returned.

JMP Version Added: 18


dt = Open( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
objs = Control Chart Builder(
    Variables( Subgroup( :DAY ), Y( :DIAMETER ) ),
    By( :OPERATOR )
);
objs[1] << Broadcast( Save Summaries );

Column Switcher

Syntax: obj << Column Switcher(column reference, {column reference, ...}, < Title(title) >, < Close Outline(0|1) >, < Retain Axis Settings(0|1) >, < Layout(0|1) >)

Description: Adds a control panel for changing the platform's variables


dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
obj = dt << Contingency( Y( :size ), X( :marital status ) );
ColumnSwitcherObject = obj << Column Switcher(
    :marital status,
    {:sex, :country, :marital status}
);

Copy ByGroup Script

Syntax: obj << Copy ByGroup Script

Description: Create a JSL script to produce this analysis, and put it on the clipboard.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Copy ByGroup Script;

Copy Script

Syntax: obj << Copy Script

Description: Create a JSL script to produce this analysis, and put it on the clipboard.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Copy Script;

Data Table Window

Syntax: obj << Data Table Window

Description: Move the data table window for this analysis to the front.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Data Table Window;

Get By Levels

Syntax: obj << Get By Levels

Description: Returns an associative array mapping the by group columns to their values.

JMP Version Added: 18


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( X( :height ), Y( :weight ), By( :sex ) );
biv << Get By Levels;

Get ByGroup Script

Syntax: obj << Get ByGroup Script

Description: Creates a script (JSL) to produce this analysis and returns it as an expression.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
t = obj[1] << Get ByGroup Script;
Show( t );

Get Container

Syntax: obj << Get Container

Description: Returns a reference to the container box that holds the content for the object.

General


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
t = obj << Get Container;
Show( (t << XPath( "//OutlineBox" )) << Get Title );

Platform with Filter


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
    Show Control Panel( 0 ),
    Variables( X( :height ), Y( :weight ) ),
    Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
    Local Data Filter(
        Add Filter(
            columns( :age, :sex, :height ),
            Where( :age == {12, 13, 14} ),
            Where( :sex == "F" ),
            Where( :height >= 55 ),
            Display( :age, N Items( 6 ) )
        )
    )
);
New Window( "platform boxes",
    H List Box(
        Outline Box( "Report(platform)", Report( gb ) << Get Picture ),
        Outline Box( "platform << Get Container", (gb << Get Container) << Get Picture )
    )
);

Get Data Table

Syntax: obj << Get Data Table

Description: Returns a reference to the data table.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
t = obj << Get Datatable;
Show( N Rows( t ) );

Get Group Platform

Syntax: obj << Get Group Platform

Description: Return the Group Platform object if this platform is part of a Group. Otherwise, returns Empty().


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ), By( :sex ) );
group = biv[1] << Get Group Platform;
Wait( 1 );
group << Layout( "Arrange in Tabs" );

Get Script

Syntax: obj << Get Script

Description: Creates a script (JSL) to produce this analysis and returns it as an expression.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
t = obj << Get Script;
Show( t );

Get Script With Data Table

Syntax: obj << Get Script With Data Table

Description: Creates a script(JSL) to produce this analysis specifically referencing this data table and returns it as an expression.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
t = obj << Get Script With Data Table;
Show( t );

Get Timing

Syntax: obj << Get Timing

Description: Times the platform launch.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
t = obj << Get Timing;
Show( t );

Get Web Support

Syntax: obj << Get Web Support

Description: Return a number indicating the level of Interactive HTML support for the display object. 1 means some or all elements are supported. 0 means no support.


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Bivariate( Y( :Weight ), X( :Height ) );
s = obj << Get Web Support();
Show( s );

Get Where Expr

Syntax: obj << Get Where Expr

Description: Returns the Where expression for the data subset, if the platform was launched with By() or Where(). Otherwise, returns Empty()

JMP Version Added: 18


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( X( :height ), Y( :weight ), By( :sex ) );
biv2 = dt << Bivariate( X( :height ), Y( :weight ), Where( :age < 14 & :height > 60 ) );
Show( biv[1] << Get Where Expr, biv2 << Get Where Expr );

Ignore Platform Preferences

Syntax: Ignore Platform Preferences( state=0|1 )

Description: Ignores the current settings of the platform's preferences. The message is ignored when sent to the platform after creation.


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Bivariate(
    Ignore Platform Preferences( 1 ),
    Y( :height ),
    X( :weight ),
    Action( Distribution( Y( :height, :weight ), Histograms Only ) )
);

Local Data Filter

Syntax: obj << Local Data Filter

Description: To filter data to specific groups or ranges, but local to this platform


dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
dt << Distribution(
    Nominal Distribution( Column( :country ) ),
    Local Data Filter(
        Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
        Mode( Show( 1 ), Include( 1 ) )
    )
);

New JSL Preset

Syntax: New JSL Preset( preset )

Description: For testing purposes, create a preset directly from a JSL expression. Like <<New Preset, it will return a Platform Preset that can be applied using <<Apply Preset. But it allows you to specify the full JSL expression for the preset to test outside of normal operation. You will get an Assert on apply if the platform names do not match, but that is expected.

JMP Version Added: 18


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Oneway( Y( :Height ), X( :Age ) );
preset = obj << New JSL Preset( Oneway( Y( :A ), X( :B ), Each Pair( 1 ) ) );
Wait( 1 );
obj << Apply Preset( preset );

New Preset

Syntax: obj = New Preset()

Description: Create an anonymous preset representing the options and customizations applied to the object. This object can be passed to Apply Preset to copy the settings to another object of the same type.

JMP Version Added: 18


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Oneway( Y( :height ), X( :sex ), t Test( 1 ) );
preset = obj << New Preset();

Paste Local Data Filter

Syntax: obj << Paste Local Data Filter

Description: Apply the local data filter from the clipboard to the current report.


dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dist = Distribution( Continuous Distribution( Column( :POP ) ) );
filter = dist << Local Data Filter(
    Add Filter( columns( :Region ), Where( :Region == "MW" ) )
);
filter << Copy Local Data Filter;
dist2 = Distribution( Continuous Distribution( Column( :Lead ) ) );
Wait( 1 );
dist2 << Paste Local Data Filter;

Redo Analysis

Syntax: obj << Redo Analysis

Description: Rerun this same analysis in a new window. The analysis will be different if the data has changed.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Redo Analysis;

Redo ByGroup Analysis

Syntax: obj << Redo ByGroup Analysis

Description: Rerun this same analysis in a new window. The analysis will be different if the data has changed.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Redo ByGroup Analysis;

Relaunch Analysis

Syntax: obj << Relaunch Analysis

Description: Opens the platform launch window and recalls the settings that were used to create the report.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Relaunch Analysis;

Relaunch ByGroup

Syntax: obj << Relaunch ByGroup

Description: Opens the platform launch window and recalls the settings that were used to create the report.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Relaunch ByGroup;

Remove Column Switcher

Syntax: obj << Remove Column Switcher

Description: Removes the most recent Column Switcher that has been added to the platform.


dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
obj = dt << Contingency( Y( :size ), X( :marital status ) );
ColumnSwitcherObject = obj << Column Switcher(
    :marital status,
    {:sex, :country, :marital status}
);
Wait( 2 );
obj << Remove Column Switcher;

Remove Local Data Filter

Syntax: obj << Remove Local Data Filter

Description: If a local data filter has been created, this removes it and restores the platform to use all the data in the data table directly


dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
dist = dt << Distribution(
    Nominal Distribution( Column( :country ) ),
    Local Data Filter(
        Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
        Mode( Show( 1 ), Include( 1 ) )
    )
);
Wait( 2 );
dist << remove local data filter;

Render Preset

Syntax: Render Preset( preset )

Description: For testing purposes, show the platform rerun script that would be used when applying a platform preset to the platform in the log. No changes are made to the platform.

JMP Version Added: 18


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Oneway( Y( :Height ), X( :Age ) );
obj << Render Preset( Expr( Oneway( Y( :A ), X( :B ), Each Pair( 1 ) ) ) );

Report

Syntax: obj << Report;Report( obj )

Description: Returns a reference to the report object.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
r = obj << Report;
t = r[Outline Box( 1 )] << Get Title;
Show( t );

Report View

Syntax: obj << Report View( "Full"|"Summary" )

Description: The report view determines the level of detail visible in a platform report. Full shows all of the detail, while Summary shows only select content, dependent on the platform. For customized behavior, display boxes support a <<Set Summary Behavior message.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Report View( "Summary" );

Save ByGroup Script to Data Table

Syntax: Save ByGroup Script to Data Table( <name>, < <<Append Suffix(0|1)>, < <<Prompt(0|1)>, < <<Replace(0|1)> );

Description: Creates a JSL script to produce this analysis, and save it as a table property in the data table. You can specify a name for the script. The Append Suffix option appends a numeric suffix to the script name, which differentiates the script from an existing script with the same name. The Prompt option prompts the user to specify a script name. The Replace option replaces an existing script with the same name.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Save ByGroup Script to Data Table;

Save ByGroup Script to Journal

Syntax: obj << Save ByGroup Script to Journal

Description: Create a JSL script to produce this analysis, and add a Button to the journal containing this script.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Save ByGroup Script to Journal;

Save ByGroup Script to Script Window

Syntax: obj << Save ByGroup Script to Script Window

Description: Create a JSL script to produce this analysis, and append it to the current Script text window.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Save ByGroup Script to Script Window;

Save Script for All Objects

Syntax: obj << Save Script for All Objects

Description: Creates a script for all report objects in the window and appends it to the current Script window. This option is useful when you have multiple reports in the window.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Save Script for All Objects;

Save Script for All Objects To Data Table

Syntax: obj << Save Script for All Objects To Data Table( <name> )

Description: Saves a script for all report objects to the current data table. This option is useful when you have multiple reports in the window. The script is named after the first platform unless you specify the script name in quotes.

Example 1


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Save Script for All Objects To Data Table;

Example 2


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
dt << New Column( "_bycol",
    Character,
    Nominal,
    set values( Repeat( {"A", "B"}, N Rows( dt ) )[1 :: N Rows( dt )] )
);
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    By( _bycol )
);
obj[1] << Save Script for All Objects To Data Table( "My Script" );

Save Script to Data Table

Syntax: Save Script to Data Table( <name>, < <<Prompt(0|1)>, < <<Replace(0|1)> );

Description: Create a JSL script to produce this analysis, and save it as a table property in the data table.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Save Script to Data Table( "My Analysis", <<Prompt( 0 ), <<Replace( 0 ) );

Save Script to Journal

Syntax: obj << Save Script to Journal

Description: Create a JSL script to produce this analysis, and add a Button to the journal containing this script.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Save Script to Journal;

Save Script to Report

Syntax: obj << Save Script to Report

Description: Create a JSL script to produce this analysis, and show it in the report itself. Useful to preserve a printed record of what was done.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Save Script to Report;

Save Script to Script Window

Syntax: obj << Save Script to Script Window

Description: Create a JSL script to produce this analysis, and append it to the current Script text window.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Save Script to Script Window;

SendToByGroup

Syntax: SendToByGroup( {":Column == level"}, command );

Description: Sends platform commands or display customization commands to each level of a by-group.


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Distribution(
    By( :Sex ),
    SendToByGroup(
        {:sex == "F"},
        Continuous Distribution( Column( :weight ), Normal Quantile Plot( 1 ) )
    ),
    SendToByGroup( {:sex == "M"}, Continuous Distribution( Column( :weight ) ) )
);

SendToEmbeddedScriptable

Syntax: SendToEmbeddedScriptable( Dispatch( "Outline name", "Element name", command );

Description: SendToEmbeddedScriptable restores settings of embedded scriptable objects.



dt = Open( "$SAMPLE_DATA/Reliability/Fan.jmp" );
dt << Life Distribution(
    Y( :Time ),
    Censor( :Censor ),
    Censor Code( 1 ),
    <<Fit Weibull,
    SendToEmbeddedScriptable(
        Dispatch(
            {"Statistics", "Parametric Estimate - Weibull", "Profilers", "Density Profiler"},
            {1, Confidence Intervals( 0 ), Term Value( Time( 6000, Lock( 0 ), Show( 1 ) ) )}
        )
    )
);

SendToReport

Syntax: SendToReport( Dispatch( "Outline name", "Element name", Element type, command );

Description: Send To Report is used in tandem with the Dispatch command to customize the appearance of a report.


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Distribution(
    Nominal Distribution( Column( :age ) ),
    Continuous Distribution( Column( :weight ) ),
    SendToReport( Dispatch( "age", "Distrib Nom Hist", FrameBox, {Frame Size( 178, 318 )} ) )
);

Sync to Data Table Changes

Syntax: obj << Sync to Data Table Changes

Description: Sync with the exclude and data changes that have been made.


dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dist = Distribution( Continuous Distribution( Column( :POP ) ) );
Wait( 1 );
dt << Delete Rows( dt << Get Rows Where( :Region == "W" ) );
dist << Sync To Data Table Changes;

Title

Syntax: obj << Title( "new title" )

Description: Sets the title of the platform.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << Title( "My Platform" );

Top Report

Syntax: obj << Top Report

Description: Returns a reference to the root node in the report.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
r = obj << Top Report;
t = r[Outline Box( 1 )] << Get Title;
Show( t );

Transform Column

Syntax: obj = <Platform>(... Transform Column(<name>, Formula(<expression>), [Random Seed(<n>)], [Numeric|Character|Expression], [Continuous|Nominal|Ordinal|Unstructured Text], [column properties]) ...)

Description: Create a transform column in the local context of an object, usually a platform. The transform column is active only for the lifetime of the platform.

JMP Version Added: 16


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Distribution(
    Transform Column( "age^2", Format( "Fixed Dec", 5, 0 ), Formula( :age * :age ) ),
    Continuous Distribution( Column( :"age^2"n ) )
);

View Web XML

Syntax: obj << View Web XML

Description: Returns the XML code that is used to create the interactive HTML report.


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Bivariate( Y( :Weight ), X( :Height ) );
xml = obj << View Web XML;

Window View

Syntax: obj = Factor Analysis(...Window View( "Visible"|"Invisible"|"Private" )...)

Description: Set the type of the window to be created for the report. By default a Visible report window will be created. An Invisible window will not appear on screen, but is discoverable by functions such as Window(). A Private window responds to most window messages but is not discoverable and must be addressed through the report object


dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Window View( "Private" ), Y( :weight ), X( :height ), Fit Line );
eqn = Report( biv )["Linear Fit", Text Edit Box( 1 )] << Get Text;
biv << Close Window;
New Window( "Bivariate Equation",
    Outline Box( "Big Class Linear Fit", Text Box( eqn, <<Set Base Font( "Title" ) ) )
);

Factor Analysis Fit Options

Item Messages

Arrow Lines

Syntax: obj << (Fit[number] << Arrow Lines( state=0|1 ))

Description: Shows or hides the arrow lines in the graph. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
Wait( 1 );
obj << (Fit[1] << Arrow Lines( 0 ));

Copy Model Specification for SEM

Syntax: obj << (Fit[number] << Copy Model Specification for SEM)

Description: Copies the factor definitions to the clipboard. You can then paste the factor definitions into the SEM platform with independent data to confirm the model.


dt = Open( "$SAMPLE_DATA/Job Satisfaction.jmp" );
obj = dt << Factor Analysis(
    Y( :Support_L, :Goal_L, :Work_L, :Interact_L ),
    Fit( "ML", "SMC", 1, "Varimax" )
);
obj << (Fit[1] << Copy Model Specification for SEM);
obj2 = dt << Structural Equation Models(
    Model Variables( :Support_L, :Goal_L, :Work_L, :Interact_L )
);
obj2 << Paste Model Specification;

Eigenvalues

Syntax: obj << (Fit[number] << Eigenvalues( state=0|1 ))

Description: Shows or hides the eigenvalues of the reduced correlation matrix and the percent of the common variance for which they account.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Eigenvalues( 1 ));

Factor Loading Plot

Syntax: obj << (Fit[number] << Factor Loading Plot( state=0|1 ))

Description: Shows or hides a plot of the rotated factor loadings. When more than two factors are modeled, the Factor Loading Plot is a matrix of plots. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
Wait( 1 );
obj << (Fit[1] << Factor Loading Plot( 0 ));

Factor Structure

Syntax: obj << (Fit[number] << Factor Structure( state=0|1 ))

Description: Shows or hides the matrix of correlations between variables and common factors. This option is available only for oblique rotations. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Promax" ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
Wait( 1 );
obj << (Fit[1] << Factor Structure( 0 ));

Final Communality Estimates

Syntax: obj << (Fit[number] << Final Communality Estimates( state=0|1 ))

Description: Shows or hides estimates of the communalities after the factor model has been fit. When the factors are orthogonal, the final communality estimate for a variable equals the sum of the squared loadings for that variable. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
Wait( 1 );
obj << (Fit[1] << Final Communality Estimates( 0 ));

Interfactor Correlations

Syntax: obj << (Fit[number] << Interfactor Correlations( state=0|1 ))

Description: Shows or hides the matrix of correlations between factors. This option is available only for oblique rotations.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Quartimin" )
);
obj << (Fit[1] << Interfactor Correlations( 1 ));

Measures of Factor Scores

Syntax: obj << (Fit[number] << Measures of Factor Scores( state=0|1 ))

Description: Shows or hides the measures of factor score determinacy, including Multiple R, Multiple R Square, and Minimum Correlation scores.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
obj << (Fit[1] << Measures of Factor Scores( 1 ));

Measures of Fit

Syntax: obj << (Fit[number] << Measures of Fit( state=0|1 ))

Description: Shows or hides the measures of fit, including Chi-Square without Bartlett's Correction, AIC, BIC, Tucker-Lewis's Index, and the root mean square error of approximation. This option is available only when Maximum Likelihood is selected as the Factoring Method. On by default.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
Wait( 1 );
obj << (Fit[1] << Measures of Fit( 0 ));

Prior Communality

Syntax: obj << (Fit[number] << Prior Communality( state=0|1 ))

Description: Shows or hides an initial estimate of the communality for each variable.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Prior Communality( 1 ));

Remove Fit

Syntax: obj << (Fit[number] << Remove Fit)

Description: Removes the specified fit from the report.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
Wait( 1 );
obj << (Fit[1] << Remove Fit);

Rotated Factor Loading

Syntax: obj << (Fit[number] << Rotated Factor Loading( state=0|1 ))

Description: Shows or hides the factor loading matrix after rotation. If the rotation is orthogonal, these values are the correlations between the variables and the rotated factors. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
Wait( 1 );
obj << (Fit[1] << Rotated Factor Loading( 0 ));

Rotation Matrix

Syntax: obj << (Fit[number] << Rotation Matrix( state=0|1 ))

Description: Shows or hides the values that are used for rotating the factor loading plot and the factor loading matrix.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Rotation Matrix( 1 ));

Save Factor Scores

Syntax: obj << (Fit[number] << Save Factor Scores( state=0|1 ))

Description: Saves new formula columns to the original data table. The new columns contain the formulas for the factor scores, which are estimated using the Thurstone method.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Save Factor Scores);

Save Factor Scores with Imputation

Syntax: obj << (Fit[number] << Save Factor Scores with Imputation( state=0|1 ))

Description: Saves new formula columns to the original data table. The new columns contain the formulas for the factor scores with imputed values for missing values.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt << Factor Analysis(
    Y( :CO, :SO2, :NO, :PM10 ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Save Factor Scores with Imputation);

Score Plot

Syntax: obj << (Fit[number] << Score Plot( state=0|1 ))

Description: Shows or hides a scatterplot of the estimated factor scores. When more than two factors are modeled, the Score Plot is a matrix of plots.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax", Rotated Factor Loading( 0 ), Factor Loading Plot( 0 ) ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
obj << (Fit[1] << Score Plot( 1 ));

Score Plot with Imputation

Syntax: obj << (Fit[number] << Score Plot with Imputation( state=0|1 ))

Description: Shows or hides a scatterplot of the estimated factor scores with imputed values for missing values.


dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt << Factor Analysis(
    Y( :CO, :SO2, :NO, :PM10 ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax", Rotated Factor Loading( 0 ), Factor Loading Plot( 0 ) ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
obj << (Fit[1] << Score Plot with Imputation( 1 ));

Significance Test

Syntax: obj << (Fit[number] << Significance Test( state=0|1 ))

Description: Shows or hides the results from two significance tests. The first tests the null hypothesis that there are no common factors and the second tests the null hypothesis that a specified number of factors are sufficient. On by default.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
Wait( 1 );
obj << (Fit[1] << Significance Test( 0 ));

Standard Score Coefficients

Syntax: obj << (Fit[number] << Standard Score Coefficients( state=0|1 ))

Description: Shows or hides a table of the multipliers that are used to estimate factor scores when saving rotated factors to the source data table.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Standard Score Coefficients( 1 ));

Target Matrix

Syntax: obj << (Fit[number] << Target Matrix( state=0|1 ))

Description: Shows or hides the matrix to which the varimax factor pattern is rotated. This option is available only for the Promax rotation.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Promax" )
);
obj << (Fit[1] << Target Matrix( 1 ));

Unrotated Factor Loading

Syntax: obj << (Fit[number] << Unrotated Factor Loading( state=0|1 ))

Description: Shows or hides the factor loading matrix prior to rotation.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Unrotated Factor Loading( 1 ));

Unsorted and Rotated Factor Loading

Syntax: obj << (Fit[number] << Unsorted and Rotated Factor Loading( state=0|1 ))

Description: Shows or hides the unsorted factor loading matrix after rotation.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" ),
    Eigenvalues( 0 ),
    Scree Plot( 0 )
);
obj << (Fit[1] << Unsorted and Rotated Factor Loading( 1 ));

Unsorted and Unrotated Factor Loading

Syntax: obj << (Fit[number] << Unsorted and Unrotated Factor Loading( state=0|1 ))

Description: Shows or hides the factor loading matrix prior to sorting and rotation.

JMP Version Added: 14


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
obj << (Fit[1] << Unsorted and Unrotated Factor Loading( 1 ));

Variance Explained by Each Factor

Syntax: obj << (Fit[number] << Variance Explained by Each Factor( state=0|1 ))

Description: Shows or hides the variance, percent, and cumulative percent, of common variance that is explained by each rotated factor. This option is available only for orthogonal rotations. On by default.


dt = Open( "$SAMPLE_DATA/Socioeconomic.jmp" );
obj = dt << Factor Analysis(
    Y(
        :Total Population, :Median School Years, :Total Employment, :Professional Services,
        :Median House Value
    ),
    Variance Scaling( "Correlations" ),
    Fit( "ML", "SMC", 2, "Varimax" )
);
Wait( 1 );
obj << (Fit[1] << Variance Explained by Each Factor( 0 ));