Ich möchte R in Python verwenden, wie vom Modul Rpy2 bereitgestellt. Ich stelle fest, dass R sehr bequeme []
Operationen hat, mit denen Sie die spezifischen Spalten oder Zeilen extrahieren können. Wie kann ich eine solche Funktion mit Python-Skripten erreichen?
Meine Idee ist es, einen R-Vektor zu erstellen und diese gewünschten Elemente in diesen Vektor einzufügen, so dass der endgültige Vektor der gleiche ist wie der in R. Ich habe einen erstellt seq()
, aber es scheint, dass er eine Anfangsziffer 1 hat, so dass das Endergebnis immer wäre Beginnen Sie mit der Ziffer 1, was ich nicht will. Gibt es einen besseren Weg, dies zu tun?
Sie können so einen leeren Vektor erstellen
Fügen Sie dann Elemente mit c () hinzu
Wie Romunov jedoch sagt, ist es viel besser, einen Vektor vorab zuzuweisen und ihn dann zu füllen (da dadurch vermieden wird, dass jedes Mal, wenn Sie Elemente hinzufügen, eine neue Kopie Ihres Vektors neu zugewiesen wird).
quelle
Um einen leeren Vektor zu erstellen, verwenden Sie:
Bitte beachten Sie, dass ich keine Annahmen über den von Ihnen benötigten Vektortyp mache, z. B. numerisch.
Sobald der Vektor erstellt wurde, können Sie ihm folgende Elemente hinzufügen:
So fügen Sie beispielsweise den numerischen Wert 1 hinzu:
oder, um einen Zeichenfolgenwert "a" hinzuzufügen
quelle
vec <- c()
setzt vec aufNULL
. Wenn Sie einen leeren Vektor möchtenvec <- character()
, würden Sie verwenden ,vec <- numeric()
etc.Ich habe auch gesehen
Jetzt können Sie einen Vektor beliebiger Dimension verketten oder binden
x
quelle
x <- NULL
und erzeugt nichts anderes als einen Verweis auf das Nirgendwo.Wie von Brani herausgestellt, ist vector () eine Lösung, z
newVector <- vector(mode = "numeric", length = 50)
gibt einen Vektor mit dem Namen "newVector" mit 50 "0" als Anfangswerten zurück. Es ist auch ziemlich üblich, den neuen Skalar einfach zu einem vorhandenen Vektor hinzuzufügen, um zu einem erweiterten Vektor zu gelangen, z
aVector <- c(aVector, newScalar)
quelle
In rpy2 können Sie mit ".rx" denselben Operator wie "[" mit R erhalten. Weitere Informationen zum Extrahieren mit rpy2 finden Sie in der Dokumentation
Wenn Sie sich beim Erstellen von Vektoren mit Python auskennen, sollte dies kein Problem darstellen. Weitere Informationen zum Erstellen von Vektoren finden Sie in der Dokumentation
quelle