Ich habe den folgenden Code in R:Annotation DB hat keine 'wählen' Methode in rpy2
require(hgu133a.db)
entrezIDs <- select(hgu133a.db, probeNames, "ENTREZID")
wo probeNames
ist eine Liste von Strings an Sonden in dieser Datenbank enthalten entspricht.
Ich versuche, es zu Python zu übersetzen rpy2 mit:
from rpy2.robjects.packages import importr
hgu133a_db = importr('hgu133a.db')
entrez_ids = hgu133a_db.select(hgu133a_db, probe_names, 'ENTREZID')
Aber erhalten Sie den Fehler:
AttributeError: module 'hgu133a.db' has no attribute 'select'
Ich habe die Dokumentation gesucht (?select
) und soweit ich sagen kann, Die Datenbank hgu133a.db erbt eine select
Methode aus der AnnotationDbi Klasse.
Wie löse ich die Bibliothek richtig auf, woher select()
stammt, damit ich sie in Python verwenden kann?
Mit 'select = r ('select')' nach dem Importieren der R-Bibliotheken funktioniert perfekt! Viel bessere Lösung als die abstrakte Basisklasse manuell ausfindig zu machen. – merv
Kann nicht in jeder Situation besser sein. Es kann sicherlich bequemer sein, wenn Sie "nur ausführen wollen, was R laufen würde", aber die Verwendung von Namespaces, die von 'importr' erstellt wurden, kann hilfreich sein, robuster Code zu schreiben (indem Sie nicht zulassen, welche R-Pakete in R importiert wurden oder in welcher Reihenfolge sie waren, ändern möglicherweise die Funktion genannt). – lgautier