[R] .Call works in R 2 not in R 3
sebastien.moretti at unil.ch
Thu Mar 10 09:43:19 CET 2016
Using cutree(tree$merge, k) fixed the problem.
In fact had to use cutree(tree["merge"], k)
Will compare results in R 2 and R 3 now.
Thanks for your help.
> cutree is a function available in stats.
> So it might be worth a try to just replace
> .Call("R_cutree", tree$merge, k, PACKAGE = "stats”)
> and see what happens.
> checking the source of cutree shows the following call
> ans <- .Call(C_cutree, tree$merge, k)
> so replacing R_cutree by C_cutree also might be an option.
> But, of course as Uwe recommended,
> using a plain R call and not using .Call is the preferred solution.
>> On Mar 8, 2016, at 14:55, Sebastien Moretti <sebastien.moretti at unil.ch> wrote:
>>>> I inherited a R package done in 2004 that works perfectly in R 2.15.1
>>>> and before, but not in R 3.2.2 ( >= 3).
>>>> I have already fixed issues with namespace for functions in R 3 but
>>>> maybe not all of them.
>>>> Here is the error message:
>>>> Error in .Call("R_cutree", tree$merge, k, PACKAGE = "stats")
>>>> "R_cutree" not available for .Call() for package "stats"
>>> Why do you .Call() into another package? Rather use the API.
>> Let's say that I am far from a R master.
>> I never use .Call() myself.
>> I want the code works again in R >= 3 because R support for R 2 will soon be stopped in my institute.
>> When the code will work again, I could change internals by comparing results with R 2 and R 3.
>>> Uwe Ligges
>>>> Thanks for your help
More information about the R-help