murdoch at stats.uwo.ca
2006-Oct-11 20:26 UTC
[Rd] Possible bug in accessing methods documentation? (PR#9291)
On 10/11/2006 2:48 PM, Seth Falcon wrote:> Hi, > > Reading help("Documentation"), I'm led to believe that a help call > like: > > ?myFun(x, sqrt(wt)) > > Will search for help on the appropriate method in the case that myFun > is generic. This isn't working for me. Here is an example using the > Biobase package: > > ## If Biobase is not installed > source("http://bioconductor.org/biocLite.R") > biocLite("Biobase") > >> library("Biobase") >> data(sample.ExpressionSet) >> class(sample.ExpressionSet) > [1] "ExpressionSet" > attr(,"package") > [1] "Biobase" >> z <- featureNames(sample.ExpressionSet) >> z[1:2] > [1] "AFFX-MurIL2_at" "AFFX-MurIL10_at" >> ?featureNames(sample.ExpressionSet) > Warning message: > no method defined for function 'featureNames' and signature 'object = "missing"' in: .helpForCall(e1Expr, parent.frame()) > Error in .helpForCall(e1Expr, parent.frame()) : > no documentation for function 'featureNames' and signature 'object = "missing"' > > > Am I expecting the wrong thing or is this broken?I think it's broken. The line that looks broken is in .helpForCall, where it has methods::"elNamed<-"(sigClasses, arg, class(argVal)) Looking at the elNamed<- function, I think this is supposed to be equivalent to sigClasses[[arg]] <- class(argVal) but it is not making any assignment. I don't understand the point of doing the assignment that way, or why it's not working, so I'll leave this for someone else. Duncan Murdoch
Duncan Murdoch
2006-Oct-11 21:33 UTC
[Rd] Possible bug in accessing methods documentation? (PR#9291)
On 10/11/2006 4:26 PM, murdoch at stats.uwo.ca wrote:> On 10/11/2006 2:48 PM, Seth Falcon wrote: >> Hi, >> >> Reading help("Documentation"), I'm led to believe that a help call >> like: >> >> ?myFun(x, sqrt(wt)) >> >> Will search for help on the appropriate method in the case that myFun >> is generic. This isn't working for me. Here is an example using the >> Biobase package: >> >> ## If Biobase is not installed >> source("http://bioconductor.org/biocLite.R") >> biocLite("Biobase") >> >>> library("Biobase") >>> data(sample.ExpressionSet) >>> class(sample.ExpressionSet) >> [1] "ExpressionSet" >> attr(,"package") >> [1] "Biobase" >>> z <- featureNames(sample.ExpressionSet) >>> z[1:2] >> [1] "AFFX-MurIL2_at" "AFFX-MurIL10_at" >>> ?featureNames(sample.ExpressionSet) >> Warning message: >> no method defined for function 'featureNames' and signature 'object = "missing"' in: .helpForCall(e1Expr, parent.frame()) >> Error in .helpForCall(e1Expr, parent.frame()) : >> no documentation for function 'featureNames' and signature 'object = "missing"' >> >> >> Am I expecting the wrong thing or is this broken? > > I think it's broken. The line that looks broken is in .helpForCall, > where it has > > methods::"elNamed<-"(sigClasses, arg, class(argVal)) > > Looking at the elNamed<- function, I think this is supposed to be > equivalent to > > sigClasses[[arg]] <- class(argVal) > > but it is not making any assignment. I don't understand the point of > doing the assignment that way, or why it's not working, so I'll leave > this for someone else.Actually, why it's not working is obvious: it's not assigning the result back into sigClasses. But I still don't understand what it is doing that is different from the version below. Duncan Murdoch