Я плохо знаком с R и приходящийся нелегко соединение информации из различных источников, онлайн связанных с тем, что считают "хорошей" практикой с записью R кодом. Я прочитал основные руководства, но мне было нелегко находить информацию, которая определенно актуальна.
Использовать ли S3, S4 или пакет вообще - это в основном вопрос стиля (как говорит Дирк), но я бы посоветовал использовать один из них, если вы хотите иметь очень хорошо структурированный объект (как и на любом языке ООП). Например, все классы временных рядов имеют объекты временных рядов (я считаю, что все они S3, за исключением его ), потому что это позволяет им применять определенное поведение в отношении создания и использования этих объектов. То же самое и с вопросом о создании пакета: это хорошая идея, если вы будете часто повторно использовать свой код или если код будет полезен кому-то другому. Это требует немного больше усилий, но добавленная организационная структура может легко компенсировать затраты.
Что касается S3 vs. S4 (обсуждается в R-Help здесь и здесь ), основная рекомендация состоит в том, что классы S3 более «быстрые и грязные» , в то время как классы S4 размещают больше жесткий контроль над объектами и типами . Если вы работаете над Bioconductor, вы обычно будете использовать S4 (см., Например, «Классы и методы S4» ).
Я бы порекомендовал прочитать кое-что из следующего:
Что касается документации, то предложение Хэдли является точным: Roxygen упростит жизнь и поместит документацию рядом с кодом. Помимо этого, вы все равно можете добавить в свой код другие комментарии помимо , которые требуются Roxygen или файлам man, и в этом случае рекомендуется комментировать свой код для других разработчиков. Эти комментарии не попадут в ваш пакет; они будут видны только в исходном коде.
Для 3. Используйте roxygen - он работает как javadoc, чтобы записывать комментарии в исходные файлы и создавать файлы Rd.
Это полдюжины или более вопросов, объединенных в один, что затрудняет ответ.
Итак, давайте попробуем изнутри: сначала попробуйте решить проблему с оболочкой RODBC. Представление кода напрашивается само собой. Я бы начал с простых функций, а затем, возможно, построил бы на их основе пакет. Это уже дает вам некоторую инкапсуляцию.
Большая часть остального - стиль. Некоторые известные коды R придерживаются S4, в то время как другие ругаются. Вы всегда можете прочитать пакеты других, а также код в самом R. И вы всегда можете повторно реализовать свою оболочку RODBC разными способами и сравнить свои собственные подходы.
Edit: Отражая ваш обновленный и сильно сокращенный вопрос: выберите несколько пакетов из CRAN, в частности, среди тех, которые вы используете.
несколько больше связано со стилем, чем с содержанием, но стоит прочитать руководство по стилю Google R :