Автоматическое документирование наборов данных

Я сейчас работаю над проектом, в котором я медленно накапливал кучу разных переменных из кучи разных источников. Будучи несколько умным человеком, я создал отдельный подкаталог для каждого из них в основном каталоге «original_data» и включил файл .txt с URL-адресом и другими дескрипторами того, откуда я получил данные. Будучи недостаточно умным человеком, эти файлы .txt не имеют структуры.

Теперь передо мной стоит задача составить раздел методов, который документирует все различные источники данных. Я готов пройтись по ним и добавить структуру к данным, но тогда мне нужно будет найти или создать инструмент отчетности для сканирования каталогов и извлечения информации.

Это похоже на то, что уже было в ProjectTemplate , но я не могу найти там эту функциональность.

Существует ли такой инструмент?

Если нет, какие соображения следует учитывать, чтобы обеспечить максимальную гибкость? Некоторые предварительные мысли:

  1. Следует использовать язык разметки (YAML?)
  2. Все подкаталоги должны быть просканированы
  3. Для облегчения (2) следует использовать стандартное расширение для дескриптора набора данных
  4. Критически , чтобы сделать это наиболее полезным, должен быть способ сопоставить дескрипторы переменных с именем, которое они в конечном итоге принимают.Следовательно, либо все переименование переменных должно выполняться в исходных файлах, а не на этапе очистки (менее чем в идеале), механизм документации должен выполнять некоторый синтаксический анализ кода для отслеживания изменений имени переменных (тьфу!), Либо некоторый Следует использовать более простой гибрид, например, позволяющий указывать переименования переменных в файле разметки.
  5. В идеале отчет также должен быть шаблонным (например, «Мы извлекли переменную [var] из набора данных [dset] на [дата].») И, возможно, связан с Sweave.
  6. Инструмент должен быть достаточно гибким, чтобы не быть слишком обременительным. Это означает, что минимальная документация будет просто именем набора данных.
21
задан Ari B. Friedman 10 November 2011 в 17:18
поделиться