Facform data formatter

Top Up Down  A A

The Facform program is provided to help you with awkward file conversions. It can be downloaded from www.winsteps.com/facets.htm or it may be already installed in the Facets folder: Facform.exe with user-manual Facform.pdf.

 

Example: A three-facet flat data file

Here is the data for an assessment of patient functioning. The performances of ten patients on a specific task were videotaped and rated by a number of raters on 70 items of performance. These data are in file "PATDAT.txt":

 

001BMT67MWP28                        5555555555555  555  354545555555551         555 55 555555 35554

001DCS67MWP28                        55555 555555 3 555  355445555555553        555 55 555 55 55554

|

(and so on down to)

|

010MMO                         555  55555  55555  5 555  555 555 5555  55555 5  5555 5  55555  555 5

010PBG                        45554 555554 555554 5 5554 554 555 55555 5555545   555 54 555554 554 5

^  ^                          ^

1  4                          31  Columns

 

The keyword list (in file PATIENTkey.txt) converts the flat file into a Facets file:

 

; File: PATkey.txt

; This converts a flat data file into a Facets file (Comments start with ;)

$Input = PATDAT.txt  ; the flat file

$Spoutput=PATCON.txt ; the file for Facets specifications

$Output = PATFAC.txt ; the file of Facets-formatted data

; three facets

$Facets=3

; labels for the facets

$Flabel=1,clients

$Flabel=2,raters

$Flabel=3,tasks

; client id number

$Label=1,$S1E3    client number starts in column 1, ends in column 3

; rater label (non-numeric)

$Label=2,,$S4E6    rater "name" starts in column 4, ends in column 6

; count of task number

task=0      ; a user-defined variable to keep track of task number

; location in data record

pointer=30 ;    a user-defined variable to keep track of location in record

; 70 tasks

$Do=70  ; perform the  $Do-$Again loop 70 times

task=task+1 ; increment our "task" number

pointer=pointer+1 ; increment location in record

; current task number

$Label=3,task ; we want this to be the task element number

; current rating

$Rating=$S(pointer)W1 ; rating at location "pointer" has a width of 1 character

$Again

 

After running the following at the DOS prompt:

C:>FACFORM PATIENTkey.txt<

 

The Facets-format output file is PATCON.txt

 

; FACFORM Version No. 1.21

; from Keyword file: PATkey.txt

Facets = 3

Data file = PATFAC.txt

Labels =

1,clients

1=

2=

|

(and so on down to)

|

9=

10=

*

2,raters

1=BMT ; Facform assigns element numbers to these "names"

2=DCS

|

(and so on down to)

|

14=REP

15=RLP

*

3,tasks

1=

2=

|

(and so on down to)

|

69=

70=

*

 

The resulting Facets specification data file is PATFAC.txt:

Facform has combined observations in sequence by element number into single data records

 

1,1,8-70,5,5,5,5,5,5,5,5,5,5,5,5,5,,,5,5,5,,,3,5,4,5,4,5,5,5,5,5,5,5,5,5,1,,,,,,,,,,5,5,5,,5,5,,5,5,5,5,5,5,,3,5,5,5,4

|

(and so on down to)

|

10,13,1-70,4,5,5,5,4,,5,5,5,5,5,4,,5,5,5,5,5,4,,5,,5,5,5,4,,5,5,4,,5,5,5,,5,5,5,5,5,,5,5,5,5,5,4,5,,,,5,5,5,,5,4,,5,5,5,5,5,4,,5,5,4,,5


Help for Facets Rasch Measurement Software: www.winsteps.com.