Flow control keywords

$Do = number  (start a loop)

Start a list of repeated instructions to be repeated (number) times. When (number) is 0 or negative, then the list of repeated keywords is skipped over and not performed. If (number) is not enclosed in parentheses, it is evaluated once, and then counted down by one on each iteration of the repeated instructions until the count reaches zero.

E.g., each person is tested twice on the same task. The observations are in adjacent columns indicated by the value, POINTER. Write out the two ratings.

POINTER = 23      ; responses start in column 23

$Do = 2

$RATING = $I(POINTER)  ; value pointed to by POINTER

POINTER = POINTER + 1  ; increment to next column



$Do = (expression)  (start a conditional loop)

If the expression is in parentheses of the form (..), then it is re-evaluated at the start of each run through of the repeated instructions. If true, the keyword list will be performed. E.g., each examinee starts at item 1 and does as many items as possible. A blank follows the last item completed.


EODATA = " " ; a blank flags the end of the data for an examinee

ITEM = 1  ; start with item number 1

DATA = $S(ITEM + 35)W1 ; response to item 1 is in column 36 = 1 + 35

$Do = (DATA<>EODATA) ; if not blank, do the list of keywords

$LABEL=2,ITEM  ; the element in facet 2 is the item number

$RATING = DATA ; write the DATA into the Facets-format file

ITEM = ITEM + 1  ; advance to the next item

DATA = $S(ITEM+35)W1 ; obtain the next response

$AGAIN   ; do this again


$Again  (end a loop)

ends a list of repeated keywords. $DO and $Again must be in matched pairs. They may be as many levels deep as necessary.

E.g., each examinee is rated by 5 judges on 10 items

$DO = 5

; judge-related keywords

$DO = 10

 ; item-related keywords




$Nextline  (go on to next input data line)

go on to the next line in the input raw data file. This is useful when one element"s observations span more than one data line.

E.g., for each examinee, the responses to items 1-50 are on one line, and 51-100 are on a second line.

ITEM=1    ; start at item 1

$DO = 50    ; do 50 items

; item-related keywords

ITEM = ITEM + 1 ; keep item number current


$Nextline    ; go on to next line of input data

$DO = 50    ; do items 51-100

; item-related keywords

ITEM = ITEM + 1 ; keep item number current



$If=(expression)  (perform conditionally)

start of conditional execution. When the expression is true, the keywords immediately after $If are performed.


$Endif  (end of conditional section)

this marks the end of the list of keywords associated with the preceding $If


Example:  Only select sub-test "A"

$IF=($S5W1="A")  ; sub-test indicator is in column 5 of data records

; rating related keywords



$Else  (or else, conditionally)

this marks the start of keywords which are performed when the $If expression is false


Example 1: a datum is to be processed only if it is not blank.

DATUM = $S38E38 ; get a one character observation from the input file

$RATING = DATUM ; only do this if not blank - the Facform default


Example 2: any blank datum is to be recoded to 0.

DATUM = $S38E38 ; get a one character observation from the input file

$If = (DATUM<>" ") ; is it blank?

$RATING = DATUM ; only do this if not blank


$Rating = "0"   ; output "0" instead of blank

$Endif     ; end of $If keyword list


$Elseif=(expression)  ($Else followed by $If)

this marks a $If expression to be performed when the previous $If expression is false


Example: set a variable to indicate examinee sex

Sex=$S24E25  ; Sex character M, F, or Blank in record


Sexvar=1 ; the numerical Sex variable




Sexvar=3 ; picks up invalid codes here


$Label=4,Sexvar  ; Used as element number in a Facet



Terminate and exit Facform when processing is completed.

This is useful in batch mode.


runff.bat is

 start /w c:\facets\facform HT0500FF.txt

 start /w c:\facets\facform HT0595FF.txt

 start /w c:\facets\facform HT0596FF.txt

 start /w c:\facets\facform HT0597FF.txt

and each of the HT0500FF.txt files contains



then executing runff.bat will cause each Facform process to occur in turn.

Help for Facform Rasch Measurement Software: www.winsteps.com. Author: John Michael Linacre

The Languages of Love: draw a map of yours!

For more information, contact info@winsteps.com or use the Contact Form

Facets Rasch measurement software. Buy for $149. & site licenses. Freeware student/evaluation download
Winsteps Rasch measurement software. Buy for $149. & site licenses. Freeware student/evaluation download

State-of-the-art : single-user and site licenses : free student/evaluation versions : download immediately : instructional PDFs : user forum : assistance by email : bugs fixed fast : free update eligibility : backwards compatible : money back if not satisfied
Rasch, Winsteps, Facets online Tutorials


Forum Rasch Measurement Forum to discuss any Rasch-related topic

Click here to add your email address to the Winsteps and Facets email list for notifications.

Click here to ask a question or make a suggestion about Winsteps and Facets software.

Rasch Publications
Rasch Measurement Transactions (free, online) Rasch Measurement research papers (free, online) Probabilistic Models for Some Intelligence and Attainment Tests, Georg Rasch Applying the Rasch Model 3rd. Ed., Bond & Fox Best Test Design, Wright & Stone
Rating Scale Analysis, Wright & Masters Introduction to Rasch Measurement, E. Smith & R. Smith Introduction to Many-Facet Rasch Measurement, Thomas Eckes Invariant Measurement with Raters and Rating Scales: Rasch Models for Rater-Mediated Assessments, George Engelhard, Jr. & Stefanie Wind Statistical Analyses for Language Testers, Rita Green
Rasch Models: Foundations, Recent Developments, and Applications, Fischer & Molenaar Journal of Applied Measurement Rasch models for measurement, David Andrich Constructing Measures, Mark Wilson Rasch Analysis in the Human Sciences, Boone, Stave, Yale
in Spanish: Análisis de Rasch para todos, Agustín Tristán Mediciones, Posicionamientos y Diagnósticos Competitivos, Juan Ramón Oreja Rodríguez
Winsteps Tutorials Facets Tutorials Rasch Discussion Groups


Coming Winsteps & Facets Events
May 22 - 24, 2018, Tues.-Thur. EALTA 2018 pre-conference workshop (Introduction to Rasch measurement using WINSTEPS and FACETS, Thomas Eckes & Frank Weiss-Motz), https://ealta2018.testdaf.de
May 25 - June 22, 2018, Fri.-Fri. On-line workshop: Practical Rasch Measurement - Core Topics (E. Smith, Winsteps), www.statistics.com
June 27 - 29, 2018, Wed.-Fri. Measurement at the Crossroads: History, philosophy and sociology of measurement, Paris, France., https://measurement2018.sciencesconf.org
June 29 - July 27, 2018, Fri.-Fri. On-line workshop: Practical Rasch Measurement - Further Topics (E. Smith, Winsteps), www.statistics.com
July 25 - July 27, 2018, Wed.-Fri. Pacific-Rim Objective Measurement Symposium (PROMS), (Preconference workshops July 23-24, 2018) Fudan University, Shanghai, China "Applying Rasch Measurement in Language Assessment and across the Human Sciences" www.promsociety.org
Aug. 10 - Sept. 7, 2018, Fri.-Fri. On-line workshop: Many-Facet Rasch Measurement (E. Smith, Facets), www.statistics.com
Oct. 12 - Nov. 9, 2018, Fri.-Fri. On-line workshop: Practical Rasch Measurement - Core Topics (E. Smith, Winsteps), www.statistics.com

John "Mike" L.'s Wellness Report: I'm 72, take no medications and, March 2018, my doctor is annoyed with me - I'm too healthy!
According to Wikipedia, the human body requires about 30 minerals, maybe more. There are 60 naturally-occurring minerals in the liquid Mineral Supplement which I take daily.