[R] survival package can't find Ccoxfit6
Duncan Murdoch
murdoch.duncan at gmail.com
Sat Apr 29 00:46:15 CEST 2017
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: SeshanV at mskcc.org
>>> To: Therneau, Terry M., Ph.D. <therneau at 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:therneau at 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, SeshanV at 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 at 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 at 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.
>>
>
More information about the R-help
mailing list