Как подключить словари данных к немаркированным данным

#r #ms-access #data-dictionary

#r #ms-access #словарь данных

Вопрос:

Я работаю с некоторыми большими правительственными наборами данных из Министерства транспорта, которые доступны в виде текстовых файлов с разделителями табуляции, сопровождаемых словарями данных. Например, файл автоматических жалоб представляет собой файл немаркированных данных размером 670 МБ (при распаковке) и поставляется со словарем. Вот несколько выдержек:

 Last updated: April 24, 2014

FIELDS:
=======

Field#  Name            Type/Size     Description                      
------  ---------       ---------     --------------------------------------
1       CMPLID          CHAR(9)       NHTSA'S INTERNAL UNIQUE SEQUENCE NUMBER.
                                      IS AN UPDATEABLE FIELD,THUS DATA FOR A
                                      GIVEN RECORD POTENTIALLY COULD CHANGE FROM 
                                      ONE DATA OUTPUT FILE TO THE NEXT. 
2       ODINO           CHAR(9)       NHTSA'S INTERNAL REFERENCE NUMBER. 
                                      THIS NUMBER MAY BE REPEATED FOR 
                                      MULTIPLE COMPONENTS.
                                      ALSO, IF LDATE IS PRIOR TO DEC 15, 2002, 
                                      THIS NUMBER MAY BE REPEATED FOR MULTIPLE 
                                      PRODUCTS OWNED BY THE SAME COMPLAINANT.
 

Некоторые поля содержат внешние ключи, перечисленные следующим образом:

 21      CMPL_TYPE       CHAR(4)       SOURCE OF COMPLAINT CODE:
                                        CAG  =CONSUMER ACTION GROUP
                                        CON  =FORWARDED FROM A CONGRESSIONAL OFFICE
                                        DP   =DEFECT PETITION,RESULT OF A DEFECT PETITION
                                        EVOQ =HOTLINE VOQ
                                        EWR  =EARLY WARNING REPORTING
                                        INS  =INSURANCE COMPANY
                                        IVOQ =NHTSA WEB SITE
                                        LETR =CONSUMER LETTER
                                        MAVQ =NHTSA MOBILE APP
                                        MIVQ =NHTSA MOBILE APP
                                        MVOQ =OPTICAL MARKED VOQ
                                        RC   =RECALL COMPLAINT,RESULT OF A RECALL INVESTIGATION
                                        RP   =RECALL PETITION,RESULT OF A RECALL PETITION
                                        SVOQ =PORTABLE SAFETY COMPLAINT FORM (PDF)
                                        VOQ  =NHTSA VEHICLE OWNERS QUESTIONNAIRE
 

Для Microsoft Access есть инструкции по импорту, которых у меня нет, и я бы не использовал, если бы знал. Но я ДУМАЮ, что этот словарь данных должен был быть машиночитаемым.

Мой вопрос: является ли этот словарь данных каким-то стандартным форматом? Я пытался поискать в Google, но это сложно сделать без правильной терминологии. Я хотел бы импортировать в R, хотя я гибкий, если это можно сделать программно.

Комментарии:

1. Я думаю, вам придется написать R-скрипт, который может извлекать ваши переменные, используя информацию в Type/Size столбце. Это то, что мне приходилось делать при работе с некоторыми специальными таблицами переписи.

2. Вы можете читать с помощью read.delim, если в нем есть вкладки. Вероятно, необходимо выполнить некоторые предварительные правки, чтобы избавиться от «——» мусора. Затем задача будет состоять в том, чтобы собрать многострочный текст в четвертом столбце. Я бы потратил время на то, чтобы первый столбец был чем-то иным, чем «», чтобы создать идентификатор записи. О, подождите, вы на самом деле не предоставили данные? Я думал, вы хотите, чтобы этот первый набор записей считывался. Вместо этого вы ожидали, что мы загрузим файл размером 157 МБ?

3. Конечно, нет! Я полностью способен импортировать данные, разделенные табуляцией. Я надеялся, что формат словаря данных (выше) был узнаваемой формой (способ, которым SAS или SPSS могут выводить подробную ключевую информацию).