[R] R CMD check
Jeff Breiwick
jeff.breiwick at noaa.gov
Wed Oct 5 23:37:31 CEST 2011
Jeff Breiwick <jeff.breiwick <at> noaa.gov> writes:
>
> Dear R-Group,
>
> I have a function that sorts a data frame and oneo of the lines in the
> function is:
>
> vars <- unlist(strsplit(formc, "[\\+\\-]"))
>
> The function works fine and the above line is always reached. However, when
I
> include the function in a package and run "R CMD check pkgname" it gives
this
> error message:
>
> '\+' is an unrecognized escape in character string starting "[\+"
> Execution halted
>
> I am running Win 7, R-2.13.1 and run R CMD ... from a command line, using
> shell ("start cmd").
>
> I didn't write the function but it has always run fine without any errors.
>
> Is there a way to resolve this so it will pass the package check?
> Thank you.
>
> Jeff
>
To test 'R CMC check' I created a test package with only this one function in
it. After running package.skeleton() the only thing I did was to edit
DESCRIPTION, test-package.Rd and sort.data.frame.Rd. The offending line is 13:
sort.data.frame <- function (x, by)
{
# From R Help list, by Kevin Wright, Sept. 2004
# Sorts data.frame by columns, either ascending or descending
# e.g. sort.data.frame(x, by = ~ year + fishery + area)
##############################################################
if (by[[1]] != "~")
stop("Argument 'by' must be a one-sided formula.")
formc <- as.character(by[2])
formc <- gsub(" ", "", formc)
if (!is.element(substring(formc, 1, 1), c("+", "-")))
formc <- paste("+", formc, sep = "")
vars <- unlist(strsplit(formc, "[\\+\\-]"))
vars <- vars[vars != ""]
calllist <- list()
pos <- 1
for (i in 1:length(vars)) {
varsign <- substring(formc, pos, pos)
pos <- pos + 1 + nchar(vars[i])
if (is.factor(x[, vars[i]])) {
if (varsign == "-") {
calllist[[i]] <- -rank(x[, vars[i]])
}
else {
calllist[[i]] <- rank(x[, vars[i]])
}
}
else {
if (varsign == "-") {
calllist[[i]] <- -x[, vars[i]]
}
else {
calllist[[i]] <- x[, vars[i]]
}
}
}
return(x[do.call("order", calllist), ])
}
-Jeff
More information about the R-help
mailing list