@Henrik Использование оператора :: не всегда работает, как в случае с растром :: plot. Кроме того, если пакет уже подключен, он может быть излишне многословным, хотя для переносимости обычно полезно быть конкретным в отношении пространств имен функций.

изм пространства имен R позволяетexport функции, которые затем видны пользователю. Кроме того, это позволяетimport функции из других пакетов. В то время как выгода от экспорта очевидна, у меня больше проблем с пониманием выгоды от импорта.

Кажется, одно преимущество заключается в том, что можно использовать функции из других пакетов, не подключая пакет и, тем самым, экономя память. Это иллюстрируется в разделе1.6.4 в написании руководства по расширениям R.

Однако должны быть и другие преимущества функции импорта. Особенно,раздел 1.6.6 (который касается классов S4) показываетnamespace пакета stats4:

 export(mle)
 importFrom("graphics", plot)
 importFrom("stats", optim, qchisq)
 ## For these, we define methods or (AIC, BIC, nobs) an implicit generic:
 importFrom("stats", AIC, BIC, coef, confint, logLik, nobs, profile,
            update, vcov)
 exportClasses(mle, profile.mle, summary.mle)
 ## All methods for imported generics:
 exportMethods(coef, confint, logLik, plot, profile, summary, show, update, vcov)
 ## implicit generics which do not have any methods here
 export(AIC, BIC, nobs)

Здесь есть импортируемые функции, которые не являются ни классами S4, ни обобщениями (где было бы целесообразно использовать импорт, как описано в примере вэтот раздел), но функционирует какplot изgraphics пакет, который автоматически загружается при запуске R.

Поэтому мой вопрос заключается в том, что является преимуществом импорта функций, таких какplot, optim или жеqchisq?

Ответы на вопрос(1)

Ваш ответ на вопрос