MFORMS= supports the reformatting of input data records, and also equating multiple input files in different formats, such as alternate forms of the same test. Data after END NAMES or END LABELS is processed first, as is data specified by DATA= in the core control file.

 

MFORMS= file name

file containing details

MFORMS= file name + file name + ...

multiple file names

MFORMS = *

in-line list

MFORMS = ?

opens a Browser window to find the file

 


 

Question: I've been trying to analyze two test forms, sharing 1-50 as common and 51-70 as unique. The common items also have IWEIGHT=. I am trying to estimate the difficulties for each form. I want to retain the KEY1= so I can have option information (so using CODES=ABCD), but also enable test form comparisons. I've tried building the combined control and data file using MFORMS=, but no success yet. Any advice would be great.

 

Reply: The items become

1-50 common

51-70 form 1

71-90 form2

and the Item labels, KEY1= and IWEIGHT= match these numbers

 

Combine the data files by

a) copying your form 1 data into the combined file

followed by

b) items1-50 of  your form 2 data

c) and then items 51-70 of your form2 data into the position for items 71-90 of the combined data.

 

To do this copying, please use "rectangular copying" (alt+Mouse). This is available in Microsoft Word and also the freeware NotePad++ https://notepad-plus-plus.org/

 


 

Data reformatted by MFORMS= can be accessed, viewed, edited and "saved as" permanently using the "Edit" pull-down menu. It has a file name of the form: ZMF.....txt

 

Procedure:

1. Make a list of all your different items. Usually we list the common items first.

2. For each item, list its entry number (sequence number) on each form.

3. Use MFORMS=. Transform the list of item numbers into MFORMS= instructions.

 

Here is the layout:

 

MFORMS=*

DATA=forma.txt

; the name of an input data file

L=2

; there are 2 lines in input data file for each data record

I1 = 20

; response to item 1 of the combined test is in column 20 of the input data file

I3-5 = 21

; items 3, 4, 5 are in columns 21, 22, 23 of the input data file

I16-20=11

; items 16, 17,18, 19, 20 are in columns 11, 12, 13, 14, 15

P1=9

; the first character of person label is in column 9 of the input data file

P3-8=1

; person label characters 3 through 8 start in column 1

C20-24="FORMA"

; put in columns 20-24 the letters FORMA

C40-90 = 2:1

; put in columns 40-90 the characters in the second line of the data record

#

; end of definition - start of next file reformat

DATA=formb.txt

; name of input data file

P3-7=1

; information for columns 3-7 of person label starts in column 1 of data record

.....


*

; end of mforms= command

 


 

Details:

 

MFORMS=* or filename

* instructions follow in control file, and end with another *

or instructions are in a file.

data=filename

name of input file name to be reformatted.

The reformatted records are placed in a temporary work file. This may be accessed from the Edit pull-down menu, and saved into a permanent file.

This temporary file is processed after any Data Files specified with the master data= instruction and in the same way, e.g., any FORMAT= command will be applied also to the temporary work file.

L=nnn

nnn is the count of lines in each input data record.

If L=1 this can be omitted.

L=4 means that 4 input data lines are processed for each data record output.

Cnnn= column in original data record

nnn is the column number in the formatted data record.

XWIDE= does not apply. C10-12 means columns 10, 11, 12 of the formatted record.

C1= refers to column 1 of the formatted data record.

This can also be used to move item and person information.

Innn= column in original data record

nnn is the starting item number in the formatted data record.

nnn-mmm are the starting to ending item numbers in the formatted data record.

XWIDE= is applied, so that I3-5= with XWIDE=2 means 6 characters.

I1= points to column Item1= in the formatted data record.

Pnnn= column in original data record

nnn is the starting column number in the person label in the formatted person label.

XWIDE= is not applied. P6-8= always means 3 columns starting in column 6.

P1= points to column Name1= in the formatted data record.

.....=nnn

nnn is the starting column of the only, or the first, line in the input data record.

....=m:nnn

m is the line number in each data record

nnn is the starting column number of that line

....="xxxx"

xxxx is a character constant to be placed in the formatted data record.

Note: for I18-20="abc" with XWIDE=2, then response to Item 18 is "ab", 19 is "c ", 20 is "  ".

#

end of processing of one file, start of the next

*

end of Mforms= processing

 

Check that everything is correct, by looking at the Edit menu, MFORMS= file.

 

Example 1: See Exam10c.txt

 

Example 2: Three data files with common items and one MCQ scoring key. See below for constructing a combined scoring key.

 

Item bank

Datafile1.txt

Datafile2.txt

Datafile3.txt

1-3

1-3

1-3

1-3

4-6

4-6

-

-

7-9

-

4-6

-

10-12

-

-

4-6

 

Datafile1.txt: (Items 1-6)

TOMY      ABCDAB

BILL      BCDADD

 

Datafile2.txt (Items 1-3 and 7-9)

TOTO      BBADAB

MOULA     BADADD

 

Datafile3.txt (Items 1-3 and 10-12)

IHSANI    ACCDAB

MALIK     CBDDCD

 

Control file:

TITLE="Multiple MCQ forms with one scoring key"

NI=12  ; 12 ITEMS IN TOTAL

ITEM1=11

NAME1=1

CODES="ABCD"

KEY1=BACCADACADDA

mforms=*

data=datafile1.txt ; name of data file

L=1   ; one line per person

P1-10=1  ; person label in columns 1-10

I1-3=11  ; items 1-3 in columns 11-13

I4-6=14  ; items 4-6 in columns 14-16

#

data=datafile2.txt

L=1

P1-10=1

I1-3=11

I7-9=14  ; items 8-9 in columns 14-16

#

data=datafile3.txt

L=1

P1-10=1

I1-3=11

I10-12=14  ; items 10-12 in columns 14-16

*

&END

; item identification here

END NAMES

 

Here is how the data appear to Winsteps for analysis:

TOMY      ABCDAB

BILL      BCDADD

TOTO      BBA   DAB

MOULA     BAD   ADD

IHSANI    ACC      DAB

MALIK     CBD      DCD

 

Example 3: Test 1 is a 4-item survey. Test 2 is a 4-item survey its first two items are the last two items on Test 1. Those items share the same rating scale, called "C". The other 4 items also share another rating scale, called "U".

 

Item bank

Datafile1.txt

Datafile2.txt

1-2

1-2

-

3-4

3-4

1-2

5-6

-

3-4

 

Datafile1.txt: (Items 1-4)

TOMY      3241

BILL      3352

 

Datafile2.txt (Items 3-4 and 5-6)

TOTO      3325

MOULA     2143

 

TITLE="Combing two surveys"

NI=6  ; 6 ITEMS IN TOTAL

ITEM1=11

NAME1=1

CODES="12345"  ; all valid codes on all the survey items

ISGROUPS = UUCCUU ; assigns items to rating scales

mforms=*

data=datafile1.txt ; name of data file

L=1   ; one line per person

P1-10=1  ; person label in columns 1-10

I1-4=11  ; items 1-4 in columns 11-14

#

data=datafile2.txt

L=1

P1-10=1

I1-2=13  ; items 1-2 on the second survey are items 3 and 4 on the first survey

I3-4=15  ; items 3-4 in columns 15-16

#

&END

; item identification here

END NAMES

 

Here is how the data appear to Winsteps for analysis:

TOMY      3241 ; items 1-2 unique, items 3-4 common

BILL      3352

TOTO        3325 ; items 3-4 common, items 5-6 unique

MOULA       2143

 

Example 4: Test 1 is a 4-item survey. Test 2 is a 4-item survey with two items in common with Test 1 which are to be anchored to their Test 1 values.

 

Item bank

data1.txt

data2.txt

1

1

-

2

2

3

3

3

-

4

4

2

5

-

1

6

-

4

 

Test 1 has 4 rating scale items. Each item has its own partial-credit structure:

title = "Test 1"

item1 = 1 ; items start in column 1

ni = 4 ; 4 items

name1 = 5 ; person label starts in column 5

namlen = 14 ; length of person name

codes =  01234  ; rating scale

ISGROUPS = 0 ; each item has its own rating scale structure

stkeep = YES ; this is probably what you want for these type of data

data = data1.txt

ifile = items1if.txt ; item calibrations from Test 1 for Test 2 (output)

sfile = items1sf.txt ; structure calibrations from Test 1 for Test 2 (output)

&END

Test 1 item 1

Test 1 item 2

Test 1 item 3

Test 1 item 4

END NAMES

 

data1.txt is:

1234Person 1-1

3212Person 1-2

......

 

Test 2 has 4 items. 1 and 4 are new - we will call these items 5 and 6 of the combined Test 1 and 2. Item 2 is Test 1 item 4, and item 3 is Test 1 item 2.

title = "Test 2 (formatted to match Test 1)"

item1 = 1 ; items start in column 1

ni = 6 ; 4 items in Test 1 + 2 more in Test 2

name1 = 7 ; person label starts in column 7

namlen =14 ; length of person name

codes =  01234 ; rating scale

stkeep = YES ; this is probably what you want for these type of data

ISGROUPS = 0  ; each item has its own rating scale structure

iafile = items1if.txt ; item calibrations from Test 1 (input - unchanged)

safile = items1sf.txt ; structure calibrations from Test 1 (input - unchanged)

MFORMS = *  ; reformat the Test 2 data to align with Test 1

data = data2.txt ; the name of an input data file

L = 1   ; there is 1 line in input data file for each data record

I2 = 3  ; response to item 2 of Test  1 is in 3 of the data2.txt file

I4 = 2  ; response to item 4 of Test  1 is in 2 of the data2.txt file

I5 = 1  ; item 5 is in column 1 of data2.txt

I6 = 4  ; item 6 is in column 4 of data2.txt

P1-14 = 5  ; the first character of person label is in column 5 of data2.txt for 14 columns.

*   ; end of mforms= command

&END

Test 1 item 1 (blank in Test 2)

Test 1 item 2 (Test 2 item 3)

Test 1 item 3 (blank in Test 2)

Test 1 item 4  (Test 2 item 2)

Item 5 (not in Test 1, Test 2 item 1)

Item 6 (not in Test 1, Test 2 item 4)

END NAMES

 

data2.txt is:

5426Person 2-1

1234Person 2-2

....

 

The formatted file (see Edit pull-down menu MFORMS==) is

2 456Person 2-1

3 214Person 2-2

....

 

Example 5. For my computer-adaptive test (CAT), I want a new MFORMS= specification for each respondent.

 

In your Winsteps control file, put

MFORMS=myrespondents.txt   (or any other file name)

 

Then myrespondents.txt can contain an unlimited number of MFORMS instructions

DATA=respondent1.txt

....

#

DATA=respondent2.txt

....

#

DATA=respondent3.txt

....

#

......

......

#

 

Example 6: Constructing a combined scoring key.

 

1. Construct MFORMS= as above.

2. Put each data files scoring key in the format of that data file in a separate data file.

3. In your control file, include:

CODES= list of valid data codes, e.g., CODES=ABCDE

IREFER=*

1-number of items   A   ; all items will be scored by IVALUEA=

*

IVALUEA=10000

IVALUEB=01000

IVALUEC=00100

IVALUED=00010

IVALUEE=00001

 

Run your control file with MFORMS=, using the data files containing only the keys.

 

Look at Edit menu, MFORMS=. It will have a data record for each files key, in the combined file format.

 

Now, Output Files menu, XFILE=,

clear all settings

check: item entry number

          response code in data file

OK

 

Output to text file space separated.

 

You will see something like:

; RESIDUAL FILE FOR YOUR TEST

  ITEM C

    11 A

    12 B

    13 E

    14 A

 

Delete the two heading lines.

The other lines are the scoring key.

 

In IREFER=, replace

1-number of items   A

with all these lines, or you can also put them in a separate file,, and specify IREFER=theirfilename

 

IREFER is acting like a key, by referring each observation to the IVALUE which matches its scoring key

 

Now run your Winsteps control file with the correct data files (delete the scoring keys in the data files).

 

Winsteps should produce the correct output.


Help for Winsteps Rasch Measurement and Rasch Analysis Software: www.winsteps.com. Author: John Michael Linacre

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

Rasch Books and Publications
Invariant Measurement: Using Rasch Models in the Social, Behavioral, and Health Sciences, 2nd Edn, 2024 George Engelhard, Jr. & Jue Wang Applying the Rasch Model (Winsteps, Facets) 4th Ed., Bond, Yan, Heene Advances in Rasch Analyses in the Human Sciences (Winsteps, Facets) 1st Ed., Boone, Staver Advances in Applications of Rasch Measurement in Science Education, X. Liu & W. J. Boone Rasch Analysis in the Human Sciences (Winsteps) Boone, Staver, Yale
Introduction to Many-Facet Rasch Measurement (Facets), Thomas Eckes Statistical Analyses for Language Testers (Facets), Rita Green Invariant Measurement with Raters and Rating Scales: Rasch Models for Rater-Mediated Assessments (Facets), George Engelhard, Jr. & Stefanie Wind Aplicação do Modelo de Rasch (Português), de Bond, Trevor G., Fox, Christine M Appliquer le modèle de Rasch: Défis et pistes de solution (Winsteps) E. Dionne, S. Béland
Exploring Rating Scale Functioning for Survey Research (R, Facets), Stefanie Wind Rasch Measurement: Applications, Khine Winsteps Tutorials - free
Facets Tutorials - free
Many-Facet Rasch Measurement (Facets) - free, J.M. Linacre Fairness, Justice and Language Assessment (Winsteps, Facets), McNamara, Knoch, Fan
Other Rasch-Related Resources: Rasch Measurement YouTube Channel
Rasch Measurement Transactions & Rasch Measurement research papers - free An Introduction to the Rasch Model with Examples in R (eRm, etc.), Debelak, Strobl, Zeigenfuse Rasch Measurement Theory Analysis in R, Wind, Hua Applying the Rasch Model in Social Sciences Using R, Lamprianou El modelo métrico de Rasch: Fundamentación, implementación e interpretación de la medida en ciencias sociales (Spanish Edition), Manuel González-Montesinos M.
Rasch Models: Foundations, Recent Developments, and Applications, Fischer & Molenaar Probabilistic Models for Some Intelligence and Attainment Tests, Georg Rasch Rasch Models for Measurement, David Andrich Constructing Measures, Mark Wilson Best Test Design - free, Wright & Stone
Rating Scale Analysis - free, Wright & Masters
Virtual Standard Setting: Setting Cut Scores, Charalambos Kollias Diseño de Mejores Pruebas - free, Spanish Best Test Design A Course in Rasch Measurement Theory, Andrich, Marais Rasch Models in Health, Christensen, Kreiner, Mesba Multivariate and Mixture Distribution Rasch Models, von Davier, Carstensen
As an Amazon Associate I earn from qualifying purchases. This does not change what you pay.

facebook Forum: Rasch Measurement Forum to discuss any Rasch-related topic

To receive News Emails about Winsteps and Facets by subscribing to the Winsteps.com email list,
enter your email address here:

I want to Subscribe: & click below
I want to Unsubscribe: & click below

Please set your SPAM filter to accept emails from Winsteps.com
The Winsteps.com email list is only used to email information about Winsteps, Facets and associated Rasch Measurement activities. Your email address is not shared with third-parties. Every email sent from the list includes the option to unsubscribe.

Questions, Suggestions? Want to update Winsteps or Facets? Please email Mike Linacre, author of Winsteps mike@winsteps.com


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


 

 

 

Our current URL is www.winsteps.com

Winsteps® is a registered trademark