Multidimensional Scaling
Example 1
Summary: Runs a multidimensional scaling analysis to visualize the proximity of cities, utilizing Weiszfeld's algorithm and setting initial portion and dimensions.
Code:
dt = Open("data_table.jmp");
obj = dt << Multidimensional Scaling(
Y(
:Birmingham, :Boston, :Buffalo, :Chicago, :Cleveland, :Dallas, :Denver, :Detroit, :El Paso, :Houston, :Indianapolis, :Kansas City,
:Los Angeles, :Louisville, :Memphis, :Miami, :Minneapolis, :New Orleans, :New York, :Omaha, :Philadelphia, :Phoenix, :Pittsburgh,
:St. Louis, :Salt Lake City, :San Francisco, :Seattle, :Washington DC
),
Show Coordinates( 1 ),
Show Proximity( 1 ),
Waern Links( "Smallest Portion", 0.33, 1 ),
Set Dimensions( 3 )
);
Code Explanation:
- Open data_table data
- Perform multidimensional scaling.
- Select multiple city columns.
- Display coordinates.
- Display proximity.
- Apply Weiszfeld's algorithm.
- Set initial portion.
- Set maximum iterations.
- Specify dimensions.
- Execute analysis.
Example 2
Summary: Generates a 3D Multidimensional Scaling plot from data table variables, displaying coordinates and proximity, with customizable warning links and dimension selection.
Code:
dt = Open("data_table.jmp");
obj = dt << Multidimensional Scaling(
Y( 2 :: 29 ),
Show Coordinates( 1 ),
Show Proximity( 1 ),
Name( "3D Plot" )(1),
Waern Links( "Smallest Portion", 0.33, 0 ),
Set Dimensions( 3 ),
Select Dimension( 3, 2 )
);
rpt = obj << Report();
actComboBox1 = rpt[Outline Box( "Multidimensional Scaling Plot" )][Combo Box( 1 )] << Get();
actComboBox2 = rpt[Outline Box( "Multidimensional Scaling Plot" )][Combo Box( 2 )] << Get();
Code Explanation:
- Open data table.
- Launch Multidimensional Scaling.
- Specify variables 2 to 29.
- Display coordinates.
- Display proximity.
- Enable 3D plot.
- Set warning links.
- Set dimensions to 3.
- Select dimensions 3 and 2.
- Retrieve combo box values.
Example 3
Summary: Process of performing Multidimensional Scaling on a data table, generating a 3D plot with coordinates and proximity information, and capturing a picture of the result.
Code:
dt = Open("data_table.jmp");
obj = dt << Multidimensional Scaling(
Y( 2 :: 29 ),
Show Coordinates( 1 ),
Show Proximity( 1 ),
Name( "3D Plot" )(1),
Waern Links( "Smallest Portion", 0.33, 0 ),
Transformation( "Ratio" ),
Set Dimensions( 4 )
);
rpt = obj << Report;
rpt[Outline Box( "Multidimensional Scaling Plot" )][Combo Box( 1 )] << Set( 3 );
thepic1 = rpt[Outline Box( "Multidimensional Scaling Plot" )][Picture Box( 1 )] << GetPicture;
x = Log Capture( obj2 = obj << Redo Analysis( 1 ) );
secondrpt = Current Report();
thepic2 = secondrpt[Outline Box( "Multidimensional Scaling Plot" )][Picture Box( 1 )] << GetPicture;
Code Explanation:
- Open data table.
- Perform Multidimensional Scaling.
- Display coordinates and proximity.
- Enable 3D plot option.
- Set warning links parameters.
- Apply ratio transformation.
- Set dimensions to 4.
- Generate initial report.
- Change combo box selection.
- Capture first picture.
Example 4
Summary: Creates and analyzes a multidimensional scaling object from a data table, generating a report and saving coordinates for further exploration.
Code:
dt = Open("data_table.jmp");
obj = dt << Multidimensional Scaling(
Y( :Top incisors, :Bottom incisors, :Top canines, :Bottom canines, :Top premolars, :Bottom premolars, :Top molars, :Bottom molars ),
Waern Links( "Smallest Portion", 0.33, 0 ),
Data Format( "Attribute List" ),
Set Dimensions( 1 )
);
rpt = obj << report;
obj << Save Coordinates;
actDim1 = Column( dt, "Dimension 1" ) << get as matrix;
actDistance = [];
For( i = 1, i <= N Rows( actDim1 ), i++,
For( j = i + 1, j <= N Rows( actDim1 ), j++,
distancecalc = Sqrt( (actDim1[j] - actDim1[i]) ^ 2 );
actDistance = V Concat( actDistance, distancecalc );
)
);
Code Explanation:
- Open data table;
- Create multidimensional scaling object.
- Specify variables for analysis.
- Configure Waern Links method.
- Set data format to attribute list.
- Define dimensions for analysis.
- Generate report from object.
- Save coordinates to dataset.
- Extract Dimension 1 values.
- Calculate distances between points.
Example 5
Summary: Runs a multidimensional scaling analysis to visualize geographic relationships between cities, utilizing the Multidimensional Scaling platform in JMP.
Code:
dt = Open("data_table.jmp");
Multidimensional Scaling(
Y(
:Birmingham, :Boston, :Buffalo, :Chicago, :Cleveland, :Dallas, :Denver, :Detroit, :El Paso, :Houston, :Indianapolis, :Kansas City,
:Los Angeles, :Louisville, :Memphis, :Miami, :Minneapolis, :New Orleans, :New York, :Omaha, :Philadelphia, :Phoenix, :Pittsburgh,
:St. Louis, :Salt Lake City, :San Francisco, :Seattle, :Washington DC
)
);
rpt = Current Report();
box = rpt[Outline Box( "2D Multidimensional Scaling" )];
Code Explanation:
- Open data table.
- Perform multidimensional scaling analysis.
- Retrieve current report object.
- Access 2D Multidimensional Scaling outline box.
Multidimensional Scaling using Log Capture
Example 1
Summary: Configures a multidimensional scaling analysis to visualize distances between cities, utilizing Log Capture and Data Format settings.
Code:
Open("data_table.jmp");
dtfrmt = Log Capture(
Multidimensional Scaling(
Y( :Birmingham, :Boston, :Buffalo, :Chicago, :Cleveland, :Dallas, :Denver, :Detroit ),
Data Format( "Distance Matrix" )
)
);
dtfrmtexp = Collapse Whitespace( "
The data format is not Distance Matrix and is set to Attribute List.
" );
Code Explanation:
- Open data table.
- Log capture starts.
- Initiate multidimensional scaling.
- Set data format to distance matrix.
- Specify Y variables for analysis.
- Log capture ends.
- Collapse whitespace in log.
- Store result in dtfrmtexp variable.
Example 2
Summary: Process of capturing log output, performing multidimensional scaling with a distance matrix format, and comparing expected output while collapsing whitespace in the log.
Code:
dt = Open("data_table.jmp");
dtfrmt = Log Capture(
Multidimensional Scaling(
Y( :Birmingham, :Boston, :Buffalo, :Chicago, :Cleveland, :Dallas, :Denver, :Detroit ),
Data Format( "Distance Matrix" )
)
);
dtfrmtexp = Collapse Whitespace( "
The data format is not Distance Matrix and is set to Attribute List.
" );
Code Explanation:
- Open data_table data
- Capture log output.
- Perform multidimensional scaling.
- Specify distance matrix format.
- Compare expected output.
- Collapse whitespace in log.
- Store result in variable.
- Define expected message.
- Check if actual matches expected.
- Output comparison result.
Example 3
Summary: Process of performing multidimensional scaling analysis on a selected data table row, capturing log output, and retrieving the current report with MDS results.
Code:
dt = Open("data_table.jmp");
dt << select rows( [28] );
dt << Hide and Exclude;
x = Log Capture(
Multidimensional Scaling(
Y(
:Birmingham, :Boston, :Buffalo, :Chicago, :Cleveland, :Dallas, :Denver, :Detroit, :El Paso, :Houston, :Indianapolis,
:Kansas City, :Los Angeles, :Louisville, :Memphis, :Miami, :Minneapolis, :New Orleans, :New York, :Omaha, :Philadelphia,
:Phoenix, :Pittsburgh, :St. Louis, :Salt Lake City, :San Francisco, :Seattle, :Washington DC
)
)
);
rpt = Current Report();
box = rpt[Outline Box( "2D Multidimensional Scaling" )];
Code Explanation:
- Open data table;
- Select specific row.
- Hide and exclude selected row.
- Perform multidimensional scaling analysis.
- Capture log output.
- Retrieve current report.
- Access outline box for MDS results.