shell script
This kind of data manipulation is pretty easy using unix-style command line tools. The following uses some utilities that you probably won’t have easy access to, but perhaps it would be worthwhile as a general example. I copied your example datafile into the paste buffer, and then ran this command:
pbpaste | tab2dm | tail +7 | dm s2 s5 s11 s5 s10 | scrunch -u 4 | tr "_ " " "
It produced: subject 1 stimulus1 (15, paura) 3749 stimulus1 (15, paura) C subject 1 stimulus1 (10, loculo) 4221 stimulus1 (10, loculo) C subject 1 stimulus1 (6, rocatrice) 4203 stimulus1 (6, rocatrice) subject 1 stimulus1 (27, prontesso) 4032 stimulus1 (27, prontesso) C
pbpaste: write contents of paste buffer standard output. normally, you wouldn’t do this, you’d read from a file instead.
tab2dm: program I wrote to convert spaces to underscores and tabs to spaces (this format is much easier to script than the tab-delimited format with internal space characters in the SL datafile). reads from standard input, writes to standard output
tail +7: skip the first 6 lines from standard input and copy the rest to standard output
dm s2 s5 s11 s5 s10: select certain space-delimited columns from standard input and write them to standard output. this is an utillity called Data Manipulator written by Gary Perlman as part of the old UNIX|Stat package. The column numbers correspond to the columns in the SL datafile that you wanted
scrunch -u 4: a utility I wrote to join successive lines from standard input together to standard output, in this case, four lines without repetitions
tr "_ " " ": put back the spaces and tabs (if there were any underscores in the orginal file, this will turn them incorrectly into spaces). personally, I’d omit this step and stay with the underscores.
There are plenty of other ways to do the equivalent and to extend it as needed with fairly simple scripts.
Greg Shenaut