Example 6: Keys in data record format |
Top Up Down
A A |
Do not use FORMAT= unless there is no other way. It is tricky to set up correctly. MFORMS= is much easier.
A test of 165 multiple-choice items with multiple data lines per data record. The scoring key is formatted in the same way as the data lines:
; This file is EXAM6.TXT
TITLE='Demonstration of KEY1 record' title
FORMAT=(1X,10A,T23,50A,/,T23,50A,/,T23,50A,/,T23,15A)
; The first character is ignored,
; then 10 characters in first record are person id,
; then starting in column 23,
; 50 columns in first 3 records,
; and 15 responses in fourth record.
; Using MFORMS= to reformat the same data record
; MFORMS=*
; Data= filename ; put the input data in a separate file
; L=4 ; 4 data input lines per output record
; P1-10=2 ; person label characters 1-10 start in column 2 of line 1 of input data
; I1-50=23 ; responses to items 1-50 start in column 23 of line 1 of input data
; I51-100=2:23 ; responses to items 51-100 start in column 23 of line 2 of input data
; I101-150=3:23 ; responses to items 101-150 start in column 23 of line 3 of input data
; I151-165=4:23 ; responses to items 151-165 start in column 23 of line 4 of input data
; * ; end of MFORMS=
; ; Note this does not reformat the Keyfrm=, so use KEY1=
; In the reformatted record
NAME1=1 ; Person-id starts in column 1
ITEM1=11 ; Item responses start in column 11 of reformatted record
NI=165 ; There are 165 items
CODES="ABCD " ; The raw responses are ABCD and BLANK.
; Put character strings in " " if blanks are to be included.
MISSCORE=0 ; Blanks and invalid codes scored wrong=0
KEYFRM=1 ; There is a KEY1 record after &END which is formatted
; exactly like a data record specifying the correct responses.
RFILE=exam6rf.txt ; this shows effect of reformatting and scoring
PTBISERIAL=YES ; Raw score point-biserial excluding extremes
TFILE=* ; List of desired tables
1.0 ; Subtable 0 of Table 1
3 ; Table 3.1, 3.2, etc.
6
10
20
* ; end of list
&END ; KEY1= formatted like your data follows:
Key 1 Record CDABCDBDABCADCBDBCADBABDDCDABCBABDCACBADACBADBAACD
after &END CCBDACABDADCBDCABBCACDBAABCDADCDCADBCABCDCADABACDA
in FORMAT= format BADCDBADCBADCDBACBADBCAADBCBBDCBACDBACBADCDADBACDB
before item names ABDACDCDBADBCAB
A1 First item name
A2
.
A164
A165
END NAMES
090111000102 10001 BDABADCDACCDCCADBCBDBCDDACADDCACCCBCCADBDABADCAADD
ABDDDCABDADCBDACDBCACADABCDCCDCBDBCCABBCDCADDCDCDA
BDCCDBABCDCDDDCBADCACBDCBDBACBCBCADBABAADCDCBABAAC
DCBCCACABCDDCBC
090111000202 10002 BDCDCDCDADCBCCBDBDCABCBDACDABCAABCAACBBBACAADDAACA
ACBCACBBDADCBDCBBBCDCCDACCBCADCACCAACDBCCDADDBACDA
BADCDCBDBDCDCCBACCCBBAABDBCDBCCBAADBABBADBDDABDCAA
DCDBCDCDBADBCCB
.
090111008402 10084 CDABCDADDDCDDDDCBDCCBCCDACDBBCACDBCCCBDDACBADCAACD
ACBDCCDBDADCCBCDDBBDCABACCBDBDCBCCACCBACDCADABACDA
BABBDCADBDDBCDADDDCDDBCABCBDCCCAACDBACBDDBDBCCAACB
DBACDBCDBADDCBC
090111008502 10085 CDABADADABCADCDDBDADBBCBACDABCCABACCCDAAACBADAAACD
ACBCDCBBDADCDDCADBCCCDBADDBBBDCACAABCBDDDCADABACDA
BADABBADBBADCADACDABBAACACAABDCBACDBADBACCDBACBADA
BCABCBCDBADDCCC
or, using continuation lines for the key:
CODES="ABCD " ; The raw responses are ABCD and BLANK
;KEYFRM= ; omit this, not needed
KEY1 = CDABCDBDABCADCBDBCADBABDDCDABCBABDCACBADACBADBAACD+
+CCBDACABDADCBDCABBCACDBAABCDADCDCADBCABCDCADABACDA+
+BADCDBADCBADCDBACBADBCAADBCBBDCBACDBACBADCDADBACDB+
+ABDACDCDBADBCAB
; "+" are continuation characters