У меня есть несколько сотен фреймов данных, каждый из которых содержит информацию о сотруднике, такую как возраст, пол, должность, дата рождения и т. Д. Проблема в том, что большинство файлов имеют разные заголовки столбцов и структуру данных.
Я пытаюсь собрать как можно больше информации из каждого файла, то есть не всю, а, может быть, 70-80%, которую можно эффективно захватить с помощью простого сопоставления столбцов или алгоритма.
Эти данные будут объединены в одну «Главную таблицу переписи», содержащую общие столбцы, такие как столбцы, перечисленные выше, которые затем будут загружены на SQL Server.
Моей первой идеей для достижения этого было создание ключа главного столбца, который отображает несколько вариантов одного столбца в стандартизованный заголовок. Например, столбец «Пол» будет сопоставлен, если заголовок соответствующего столбца входного файла содержит («пол», «пол», «мужчина / женщина», «мужчина / женщина»).
Любые совпадающие столбцы будут добавлены в основную таблицу, а в столбцах останутся пустые ячейки, в которых не было найдено совпадений.
Как лучше всего этого добиться? Операторы «if» в цикле для каждого заголовка столбца, который проверяет совпадения в ключе преобразования столбца? Есть ли для этого другие подходящие функции / пакеты?
Я изо всех сил пытаюсь осознать, что вытаскивает целые столбцы в новый фрейм данных на основе условной логики без написания запутанных циклов «если, то», а также удостоверяется, что структура данных приведена, и каждый столбец стандартизирован, т.е. столбец «Пол» содержит только « Мужской и Женский, а не смесь «М», «Ж», «Мальчик», «Девочка» и т. Д.
Любая помощь / вклад / обсуждение приветствуются.
Я могу потратить некоторое время, чтобы добавить образцы данных, если кто-то захочет лучше визуализировать то, что я имею в виду.
R Версия 3.4.4