* Из сервиса SPSS's AnswerNet, *Тема: Проверка ошибок с использованием синтаксиса Описание: *(Вопрос) * Два оператора ввели одни и те же данные в 2 разных файла. * Как можно в SPSS проверить их на расхождения? *(Ответ). * Допустим существование 2 предположительно идентичных файлов с N переменными в каждом. * Переименуем переменные в 1-м файле и объединим его со 2-м. * Суть процедуры проверки такова:. do repeat v=var_1 to var_n /w=var_n+1 to var_n+n /e=err_1 to err_n. if (v ne w) e=1. end repeat. compute newvar=sum(err_1 to err_n). Select if (newvar>=1). * Отобранные наблюдения - те, в которых существуют расхождения. Остаётся сравнить данные из файлов * с первичными документами и внести исправления. * Если в результате не отобрано ни одного наблюдения, два файла полностью совпадают. * Вот пример работы подобного синтаксиса: * Этот синтаксис создаёт пример данных. * НЕ ИСПОЛЬЗУЙТЕ ЕГО В ВАШЕМ СИНТАКСИСЕ. input program. loop. do repeat #r=var_1 to var_10. compute #r=trunc (uniform(5))+1. end repeat. end case. end loop. end file. end input program. exe. compute id=$casenum. save outfile = '@first@.sav'. exe. If (var_1=5) var_10=3. save outfile = '@second@.sav'. exe. * Можете использовать для проверки программный код, начиная с этого места. * Эта часть объединяет файлы и переименовывает переменные. match files file=* /file='@first@.sav' /rename (var_1 to var_10 = var_11 to var_20) /by id. exe. * Этот синтаксис осуществляет контроль ошибок. do repeat v=var_1 to var_10 /w=var_11 to var_20 /e=err_1 to err_10. if (v ne w) e=1. end repeat. exe. * Этот синтаксис создаёт новый файл, имеющий только индикатор записей ID * и переменные, содержащие ошибки. * Используйте этот файл для проверки правильности ввода данных. compute newvar=sum(err_1 to err_10). select if (newvar>=1). save outfile = '@third@.sav' /keep id err_1 to err_10. exe. get file '@third@.sav'. exe. * Создано: 22.10.2000 "