Je souhaite utiliser les fonctions des boîtiers Bioconductor hypergraph
et hyperdraw
sans charger les emballages. Lors de l'exécution d'un exemple de la vignette hyperdraw
Appel de fonction R sans chargement du paquet
dh1 <- hypergraph::DirectedHyperedge("A", "B", "R1")
dh2 <- hypergraph::DirectedHyperedge(c("A", "B"), c("C", "D"), "R2")
hg <- hypergraph::Hypergraph(LETTERS[1:5], list(dh1, dh2))
hgbph <- hyperdraw::graphBPH(hg)
Je reçois l'erreur:
Error in hyperdraw::graphBPH(hg) : could not find function "hyperedges"
Si je tente de charger hyperedges
:
hyperedges <- hyperdraw:::hyperedges
Je reçois l'erreur
Error in get(name, envir = asNamespace(pkg), inherits = FALSE) :
object 'hyperedges' not found
Lorsque je charge les deux paquets en utilisant library
ou require
, je n'obtiens aucune erreur (en exécutant le code ci-dessus sans hypergraph::
et hyperdraw::
).
La raison pour laquelle je ne veux pas charger les paquets est parce que je suis construction d'un paquet qui utilise hyperdraw
et hypergraph
dans une seule fonction et je préfère mettre ces paquets dans Suggests
que dans Depends
dans mon dossier DESCRPTION
.
Est-ce que quelqu'un a une idée pour résoudre ce problème?
N'a pas essayé d'exécuter ceci mais essayez: 'hyperedges <- hyperdraw ::: hyperedges' –
Cela donne aussi une erreur, voir le message édité – user1981275
Si vous construisez un paquet qui utilise les fonctions' hyperdraw' et 'hypergraph 'même dans une seule fonction, vous devez ** les mettre dans votre fichier' DESCRIPTION' au moins comme 'Imports:' (ce qui est préférable à 'Depends:' dans tous les cas). Pour autant que je sache, il n'y a pas moyen de contourner cela. 'Suggests:' est pour les paquets utilisés uniquement dans les vignettes et les exemples. –