You can use a function packageDescriptionthat allows you to get package requirements.
I wrote a quick and dirty solution, feel free to improve it!
minimumRVersion <- function(packageList)
{
requirements <- NULL
for (p in packageList)
{
dep <- packageDescription(p, fields = "Depends")
if (!is.na(dep))
{
dep <- unlist(strsplit(dep, ","))
r.dep <- dep[grep("R \\(", dep)]
if (!length(r.dep))
r.dep <- NA
}
else
r.dep <- NA
requirements <- c(requirements, r.dep)
}
requirements
}
Vocation:
minimumRVersion(c("nlme", "MASS", "bootstrap", "knitr", "Hmisc"))
Returns:
[1] " R (>= 3.0.0)" "R (>= 3.1.0)" " R (>= 2.10.0)" "R (>= 3.0.2)" NA
source
share