PATH1 is a computer language designed to mimic the appearance of a path diagram as best as possible within a completely portable, character-based environment. PATH1 programs are written in ordinary text files, yet they are easy to relate to a typical path diagram.

PATH1 was designed to allow quick conversion of SEPATH path diagrams to a form where they can be read by a computer. Here are the rules for the PATH1 language.

1. Each arrow and wire is represented on a separate line.

2. Blanks never count. They are stripped from the line before parsing.

3. Manifest variable names are represented as the FULL variable name enclosed within brackets. The name enclosed in brackets must follow the rules for a STATISTICA variable name. The name thus can be at most 8 alphanumeric characters in length. Characters must be upper case. The underscore character "_" is also allowed.

Examples. [MATH1], [HS_MATH], and [ANXIETY].

4. Latent variable names are represented by a variable name in parentheses. The name can be up to 20 characters in length. Upper and lower case characters are allowed, and are distinguished. Underscores are allowed, but dashes are not allowed.

Examples. (Verbal_Intelligence) and (Explosive_Strength).

5. Directed relationships are represented in the following form in a PATH1 input line:

Example. VNAME1-<#1>{<#2>}->VNAME2

where VNAME1 and VNAME2 are valid manifest or latent variables adhering to rules 3 and 4 above, <#1> is an integer representing the coefficient number, and <#2> is a real value representing the start value.

If VNAME1 is omitted, then the program will find the last preceding line with two variable names and use the first variable name as VNAME1.

<#1> is required if the path has a coefficient which is a free parameter. If the coefficient is a fixed value, <#1> is omitted. Otherwise, <#1> is the integer value for the parameter number. It must be between 1 and 30000 in value.

If the coefficient for the arrow is a free parameter, then <#2> is the starting value used during iteration. If the coefficient is fixed, then <#2> represents the fixed value. If both <#1> and <#2> are omitted, then the path is assumed to have a fixed coefficient with a value of 1.

Examples. (IQ_10)-1->[WECHSLER](X)-->[Y]

6. Undirected relationships are presented in the following form

VNAME1-<#1>{<#2>}-VNAME2

where VNAME1, VNAME2, <#1>, and <#2> are the same as in the preceding section. If VNAME1 is omitted, then the program will find the last preceding line with two variable names and use the first variable name as VNAME1.

Examples. (L1)-1-(L2) and (Intelligence)-{.5}-(Success).

7. Different statistical populations are denoted in the PATH1 language by a GROUP statement of the form

GROUP <#>

where <#> is the number of the population. All PATH1 files begin (implicitly) with a GROUP 1 statement. All statements are assumed to refer to the group referenced in the last GROUP statement. Before beginning a new group, you must terminate a block of lines with the command

ENDGROUP

8. Blank lines, and any lines beginning with an * (asterisk), are treated as comment lines, and are not analyzed as PATH1 statements.

Each element in a SEPATH path diagram has an obvious corresponding element in PATH1. However there is one situation where the SEPATH diagram may represent information implicitly which must be expressed explicitly in the PATH1 representation. This is when the model has manifest exogenous variables. As noted in section 9b of the rules for path diagrams, the diagram allows you the option of not representing all the variances and covariances among exogenous manifest variables explicitly. However, for reasons of computational efficiency, the user must follow one of two courses of action. If either the Fixed or Free option button has been checked in the Manifest Exogenous box in the Analysis Parameters dialog, then no variances and covariances among exogenous manifest variables are to be expressed explicitly in the diagram. If the User option button is selected, then all variances and covariances among exogenous manifest variables must be expressed explicitly in the PATH1 representation. This restriction in the program (rather than the PATH1 language itself) presents few problems in practice.