2016-10-28 3 views
0

Я не являюсь пользователем R, но я готовлюсь к обновлению R от 3.0.2 до 3.3.1 на многопользовательской платформе. Я красным, что в целом некоторые пакеты не имеют обратной совместимости с некоторыми предупреждениями между версиями версий об устаревших функциях. Но мой вопрос более «глобальный»: можете ли вы запустить код, написанный с R 3.0 на R 3.3, без изменения каких-либо строк? Если нет, это большое изменение или незначительное изменение, требуемое для кода?Обратная совместимость кода R

Редактировать: Вы знаете наиболее распространенные встроенные пакеты (источник из проекта cran r), которые нуждаются в изменениях в коде?

Благодарим за помощь.

+0

Возможно, возможно, или нет. Это зависит от кода. Некоторый код будет работать без изменений, другие потребуют изменений. – Spacedman

+0

R-core избегает почти всех разрушающих изменений, поэтому старая база R (и даже S) должна в основном работать без инцидентов. Однако отдельные пакеты могут дестабилизировать или удалить функции. Сообщения об ошибках/предупреждения обычно сообщают вам, что нужно обновлять. – alistaire

+0

Tks, оба из вас, я редактирую оригинальное сообщение, чтобы добавить вопрос. –

ответ

0

Обратите внимание, что пакеты R обычно не плотно связаны с R-версией; скорее всего, вы могли бы скомпилировать существующую версию пакетов на 3.3, если вам нужно (например, если вы обнаружите, что один из ваших пользователей не может обновить).

У меня редко возникали серьезные проблемы с обновлением пакета R; вы можете быть в порядке, предупреждая своих пользователей об обновлении, а затем просто помогая им реагировать, если им это нужно.

Один популярный пакет, который недавно имел изменения, не поддерживающие обратную совместимость, - ggplot: функция qplot() имеет множество функций, удаленных в версии 2.0, и некоторые приложения теперь должны быть написаны с помощью ggplot(). Если вы собираетесь обновить ggplot с версии старше 2.0 до более поздней версии 2.0, я бы ожидал некоторых проблем.

Смежные вопросы