source
запускает код в файле .R
, строка за строкой.
library
и require
загружают и присоединяют пакеты R.
source()
для ленивых разработчиков, которые не хотят создавать библиотеку?
Вы правы, что source
для случаев, когда у вас нет пакета. Лень - не единственная причина, иногда пакеты не подходят - пакеты предоставляют функциональные возможности, но не делают . Возможно, у меня есть сценарий, который извлекает данные из базы данных, соответствует модели и делает некоторые прогнозы. Пакет может предоставлять функции, помогающие мне сделать это, но на самом деле он этого не делает. Сценарий, сохраненный в файле .R
и запущенный с source()
, может выполнить команды и выполнить задачу.
Я хочу решить это:
похоже, library()
и require()
- это одно и то же, может быть, один унаследован.
Они оба делают одно и то же (загружают и прикрепляют пакет). Основное отличие состоит в том, что library()
выдаст ошибку и остановит скрипт, если пакет недоступен, тогда как require()
вернет TRUE
или FALSE
в зависимости от его успешности. По общему мнению, library
лучше, так что ваш сценарий останавливается с приятной явной ошибкой, и вы можете установить отсутствующий пакет, прежде чем продолжить. Связанный вопрос имеет более тщательное обсуждение, которое я не буду пытаться повторить здесь.