Ah, ok great, thanks.
So I added:
toroot<-.Call(seq_root2tip, nt$edge, length(nt$tip.label), nt$Nnode, PACKAGE =
'ape')
But check() is still throwing up a note:
basic_branch: no visible binding for global variable ‘seq_root2tip’
shade_branch: no visible binding for global variable ‘seq_root2tip’
Undefined global functions or variables:
seq_root2tip
Any thoughts?
Sharon
From: Josiah Parry <[email protected]>
Date: Thursday, July 3, 2025 at 4:46 PM
To: Sharon Bewick <[email protected]>
Cc: Michael Chirico <[email protected]>, R Package Development
<[email protected]>
Subject: Re: [R-pkg-devel] Two errors
This Message Is From An External Sender: Use caution when opening links or
attachments if you do not recognize the sender.
I believe they mean as an argument to .Call
https://stat.ethz.ch/R-manual/R-devel/library/base/html/CallExternal.html
On Thu, Jul 3, 2025 at 15:41 Sharon Bewick
<[email protected]<mailto:[email protected]>> wrote:
Thanks so much for the tips!
I think I’ve fixed #2. But I’m not sure what you mean by #1. Where should the
"seq_root2tip" with PACKAGE="ape" go? In the NAMESPACE file? In the Description
file? Somewhere in the code?
So sorry for not understanding!
Thanks!
Sharon
From: Michael Chirico
<[email protected]<mailto:[email protected]>>
Date: Thursday, July 3, 2025 at 4:13 PM
To: Sharon Bewick <[email protected]<mailto:[email protected]>>
Cc: R Package Development
<[email protected]<mailto:[email protected]>>
Subject: Re: [R-pkg-devel] Two errors
This Message Is From An External Sender: Use caution when opening links or
attachments if you do not recognize the sender.
1. all functions in R are variables. You can "trick" code tools by writing
seq_root2tip=NULL in the same scope but consider (a) C routines are typically
part of a package's private interface (b) it might be preferable to use the
string "seq_root2tip" with PACKAGE="ape"
2. phytree is not the same as phytree<- : importFrom(phyloseq, "phytree<-") is
what you want assuming it's exported)
(c.f. `x = phyteee(...)` vs. `phytree(x) <- ...`)
Mike C
On Thu, Jul 3, 2025, 2:57 PM Sharon Bewick
<[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>>
wrote:
1. I’m trying to upload my R package. However, I use the ape function
seq_root2tip but for the sake of speed am calling it using .Call:
toroot<-.Call(seq_root2tip, nt$edge, length(nt$tip.label), nt$Nnode)
How do I get R to recognize the seq_root2tip function from ape in this C call?
It is throwing up a NOTE that is getting my package rejected:
shade_branch: no visible binding for global variable ‘seq_root2tip’
but seq_root2tip is a function, not a global variable.
2. I’m also getting a NOTE about: no visible global function definition for
‘phy_tree<-’
I have declared phy_tree in the NAMESPACE file: importFrom(phyloseq,phy_tree)
I don’t know what the problem is…
Thanks!
Sharon
[[alternative HTML version deleted]]
______________________________________________
[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>
mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel
[[alternative HTML version deleted]]
______________________________________________
[email protected]<mailto:[email protected]> mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel