Re: [R] Errors checking a library
"michael watson (IAH-C)" <[EMAIL PROTECTED]> writes: > I am writing an R library. A whole library? Shouldn't you try a package first? > The documentation for one of my functions > includes an example that I *know* works - simply cut and paste into R on > either Windows and Linux and it works perfectly, no errors or warnings, > nothing, nyet. > > However, when I run "R CMD check" on the library, I get an error. I am > running R CMD check on linux, and the offending piece of code appears to > be: > > cox[cox$group %in% onc,] > > "cox" is a data frame, one of the columns of which is group, which > contains numbers. "onc" is a vector of numbers. > > The output on Linux from R CMD check is this: > > > # lots of code > > # lots of code > >cox[cox$group > + > + > + # the rest of my code > Error: syntax error > Execution halted > > As can be seen, my code "cox[cox$group %in% onc,]" seems to have been > executed incorrectly. Does R CMD check have a problem with the "%in%" > operator? It would seem that R has somehow got mixed up and has lost > the rest of my command. Think: What is the comment character in .Rd files? Checking out src/library/base/man/match.Rd should be enlightening, but since you might not have R sources installed, here are the relevant bits: \name{match} \alias{match} \alias{\%in\%} \title{Value Matching} \description{ \code{match} returns a vector of the positions of (first) matches of its first argument in its second. \code{\%in\%} is a more intuitive interface as a binary operator, which returns a logical vector indicating if there is a match or not for its left operand. } \usage{ match(x, table, nomatch = NA, incomparables = FALSE) x \%in\% table } \examples{ ## The intersection of two sets : intersect <- function(x, y) y[match(x, y, nomatch = 0)] intersect(1:10,7:20) 1:10 \%in\% c(1,3,5,9) sstr <- c("c","ab","B","bba","c","@","bla","a","Ba","\%") sstr[sstr \%in\% c(letters,LETTERS)] "\%w/o\%" <- function(x,y) x[!x \%in\% y] #-- x without y (1:10) \%w/o\% c(3,7,12) } \keyword{manip} -- O__ Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Errors checking a library
On Thu, 18 Nov 2004, michael watson (IAH-C) wrote: > Hi > > I am writing an R library. The documentation for one of my functions > includes an example that I *know* works - simply cut and paste into R on > either Windows and Linux and it works perfectly, no errors or warnings, > nothing, nyet. > > However, when I run "R CMD check" on the library, I get an error. I am > running R CMD check on linux, and the offending piece of code appears to > be: > > cox[cox$group %in% onc,] > > "cox" is a data frame, one of the columns of which is group, which > contains numbers. "onc" is a vector of numbers. > > The output on Linux from R CMD check is this: > > > # lots of code > > # lots of code > >cox[cox$group > + > + > + # the rest of my code > Error: syntax error > Execution halted > > As can be seen, my code "cox[cox$group %in% onc,]" seems to have been > executed incorrectly. Does R CMD check have a problem with the "%in%" > operator? It would seem that R has somehow got mixed up and has lost > the rest of my command. I'm guessing at what you may mean, so excuse me getting it wrong. If the code is in an example in a help file (*.Rd, \examples{} block), then the % may be being interpreted as a comment character, and the remainder of the line not processed - see Writing R Extensions -> Writing R documentation files -> Insertions. If that is the problem, then escaping the % by \% should fix it, that it what is done in src/library/base/man/match.Rd anyway. > > I'm using R 1.9.1 on Suse Linux 8.2. The example code works fine on > both Windows and Linux when cut-and-pasted into an R window. > > Mick > > __ > [EMAIL PROTECTED] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html > -- Roger Bivand Economic Geography Section, Department of Economics, Norwegian School of Economics and Business Administration, Breiviksveien 40, N-5045 Bergen, Norway. voice: +47 55 95 93 55; fax +47 55 95 93 93 e-mail: [EMAIL PROTECTED] __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Re: [R] Errors checking a library
michael watson (IAH-C) wrote: Hi I am writing an R library. The documentation for one of my functions includes an example that I *know* works - simply cut and paste into R on either Windows and Linux and it works perfectly, no errors or warnings, nothing, nyet. However, when I run "R CMD check" on the library, I get an error. I am running R CMD check on linux, and the offending piece of code appears to be: cox[cox$group %in% onc,] You need to quote "%": "\%". Uwe Ligges "cox" is a data frame, one of the columns of which is group, which contains numbers. "onc" is a vector of numbers. The output on Linux from R CMD check is this: # lots of code # lots of code cox[cox$group + + + # the rest of my code Error: syntax error Execution halted As can be seen, my code "cox[cox$group %in% onc,]" seems to have been executed incorrectly. Does R CMD check have a problem with the "%in%" operator? It would seem that R has somehow got mixed up and has lost the rest of my command. I'm using R 1.9.1 on Suse Linux 8.2. The example code works fine on both Windows and Linux when cut-and-pasted into an R window. Mick __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html __ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html