Thank you everyone for all your help. Dr. Therneau and I had some offline email exchange and he offered to add resid= and concordance= options which will reduce the computational overhead in resampling scenarios such as mine. It will also avoid having to access unexported internals.
Thanks, Venkat -----Original Message----- From: Duncan Murdoch [mailto:murdoch.dun...@gmail.com] Sent: Friday, April 28, 2017 6:46 PM To: Henric Winell; Therneau, Terry M., Ph.D.; R-help Cc: Seshan, Venkatraman E./Epidemiology-Biostatistics Subject: Re: [R] survival package can't find Ccoxfit6 On 28/04/2017 5:37 PM, Henric Winell wrote: > On 2017-04-26 22:17, Duncan Murdoch wrote: > >> On 26/04/2017 2:51 PM, Therneau, Terry M., Ph.D. wrote: >>> A user contacted me directly about this, I answered with my best >>> understanding of the recent R-help discussion of the issue, and >>> their response to my response shows that I'm not quite right. >>> >>> I am emphatically not an MS Windows user so am asking for help -- >>> which I will cut/paste to this user and to the next dozen who will >>> invariably contact me directly. >>> >>> Thanks, >>> Terry Therneau >>> >>> >>> >>> -------- Forwarded Message -------- >>> Subject: RE: survival package >>> Date: Wed, 26 Apr 2017 18:05:30 +0000 >>> From: sesh...@mskcc.org >>> To: Therneau, Terry M., Ph.D. <thern...@mayo.edu> >>> >>> Thank you for the quick response. The session info command for >>> v3.4.0 does in fact report survival_2.41-3. Furthermore, while both >>> v3.3.1 and v3.40 are on the same computer the library paths do not >>> have any directory in common: >>> >>>> .libPaths() >>> [1] "C:/Program Files/R/R-3.4.0/library" >>>> >>> >>> and >>>> .libPaths() >>> [1] "C:/Program Files/R/R-3.3.1/library" >>>> >>> >>> >>> Thanks, >>> Venkat >>> >>> >>> -----Original Message----- >>> From: Therneau, Terry M., Ph.D. [mailto:thern...@mayo.edu] Sent: >>> Wednesday, April 26, 2017 >>> 1:42 PM >>> To: Seshan, Venkatraman E./Epidemiology-Biostatistics >>> Subject: Re: survival package >>> >>> This has been discussed in R-help by multiple people. You have a >>> pre-3.4 version of the >>> survival package somewhere on your search path, and the method for >>> resolving .C calls has >>> changed. The sessionInfo command should report survival version 2.41-3. >>> >>> Terry T. >>> >>> >>> On 04/26/2017 12:17 PM, sesh...@mskcc.org wrote: >>>> Dear Prof. Therneau, >>>> >>>> I am encountering an error message when I try to use the coxfit6 >>>> routine from the survival package under the 3.4.0 version of R. The >>>> minimal function and the script are in the attached file. This >>>> function worked under earlier versions of R. >>>> >>>> ------------------------------------------------------------------- >>>> --- >>>> ------------------------- >>>> >>>> *************************** >>>> ** Works under R-3.3.1 ** >>>> *************************** >>>> >>>>> source("coxfit6-issue.R") >>>> [1] -0.4838181 >>>> >>>>> sessionInfo() >>>> R version 3.3.1 (2016-06-21) >>>> Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 >>>> x64 (build 7601) Service Pack 1 >>>> >>>> locale: >>>> [1] LC_COLLATE=English_United States.1252 [2] >>>> LC_CTYPE=English_United >>>> States.1252 [3] LC_MONETARY=English_United States.1252 [4] >>>> LC_NUMERIC=C [5] LC_TIME=English_United States.1252 >>>> >>>> attached base packages: >>>> [1] stats graphics grDevices utils datasets methods base >>>> >>>> other attached packages: >>>> [1] survival_2.39-4 >>>> >>>> loaded via a namespace (and not attached): >>>> [1] Matrix_1.2-6 splines_3.3.1 grid_3.3.1 lattice_0.20-33 >>>> >>>> ------------------------------------------------------------------- >>>> --- >>>> ------------------------- >>>> >>>> *********************************** >>>> ** Does not work under R-3.4.0 ** >>>> *********************************** >>>> >>>>> library(survival) >>>>> source("coxfit6-issue.R") >>>> Error in .Call("Ccoxfit6", as.integer(control$iter.max), stime, >>>> as.integer(sstat), : >>>> "Ccoxfit6" not available for .Call() for package "survival" >> >> As far as I can see, that line doesn't appear in the current survival >> source code, it's from some earlier version of the package. The >> current one has >> >> coxfit <- .Call(Ccoxfit6, >> as.integer(maxiter), >> stime, >> sstat, >> x[sorted,], >> as.double(offset[sorted]), >> weights, >> newstrat, >> as.integer(method=="efron"), >> as.double(control$eps), >> as.double(control$toler.chol), >> as.vector(init), >> as.integer(1)) # internally rescale >> >> There are several differences, the one leading to the error being the >> change from "Ccoxfit6" in quotes, to Ccoxfit6 not in quotes. That >> corresponds to the difference between a registered symbol and an >> unregistered one. > > I think it's worthwhile to point out that non-exported symbols are > available using ':::'. See WRE Section 5.4. > > So, after fixing the argument list, just use > '.Call(survival:::Ccoxfit6, <args>)' instead of '.Call("Ccoxfit6", <args>, > PACKAGE = "survival")'. > Yes, and in another section it says "Using foo:::f instead of foo::f allows access to unexported objects. This is generally not recommended, as the semantics of unexported objects may be changed by the package author in routine maintenance." Duncan Murdoch > > Henric Winell > > > >> >> Without seeing the code that led to the error message I can't really >> say how the error came about. There are a few ways: >> >> - The user has a copy of the coxph.fit function from an older version >> of survival saved in their workspace, and are using that one instead >> of the current one. >> >> - Some part of your code returns functions, and one of those is >> making this call based on an object produced in an earlier version of >> survival. >> >> - There are really two versions of survival on the search path (or >> perhaps copied bits of one), and this call isn't in survival 2.41-3 at all. >> >> Duncan Murdoch >> >>>>> sessionInfo() >>>> R version 3.4.0 (2017-04-21) >>>> Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 >>>> x64 (build 7601) Service Pack 1 >>>> >>>> Matrix products: default >>>> >>>> locale: >>>> [1] LC_COLLATE=English_United States.1252 [2] >>>> LC_CTYPE=English_United >>>> States.1252 [3] LC_MONETARY=English_United States.1252 [4] >>>> LC_NUMERIC=C [5] LC_TIME=English_United States.1252 >>>> >>>> attached base packages: >>>> [1] stats graphics grDevices utils datasets methods base >>>> >>>> other attached packages: >>>> [1] survival_2.41-3 >>>> >>>> loaded via a namespace (and not attached): >>>> [1] compiler_3.4.0 Matrix_1.2-9 splines_3.4.0 grid_3.4.0 >>>> [5] lattice_0.20-35 >>>> >>>> ------------------------------------------------------------------- >>>> --- >>>> ------------------------- >>>> >>>> When I remove the quotes surrounding Ccoxfit6 in the function both >>>> versions give the error: >>>> >>>> Error in phcoefs(stim[ii], sts[ii], as.matrix(as.double(cvt[ii])), >>>> oo$coefficients, : >>>> object 'Ccoxfit6' not found >>>> >>>> >>>> I would greatly appreciate your help in resolving this. >>>> >>>> Thanks, >>>> Venkat Seshan >>>> >>> >>> >>> ==================================================================== >>> = >>> >>> Please note that this e-mail and any files transmitted from >>> Memorial Sloan Kettering Cancer Center may be privileged, >>> confidential, >>> and protected from disclosure under applicable law. If the >>> reader of >>> this message is not the intended recipient, or an employee or agent >>> responsible for delivering this message to the intended recipient, >>> you are hereby notified that any reading, dissemination, >>> distribution, >>> copying, or other use of this communication or any of its >>> attachments >>> is strictly prohibited. If you have received this communication in >>> error, please notify the sender immediately by replying to >>> this message >>> and deleting this message, any attachments, and all copies and >>> backups >>> from your computer. >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide >>> http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.