Ich versuche rpy2 zu verwenden, um die multi.split Funktion aus dem questionr Paket auszuführen.Fehler bei der R-Funktion mit rpy2 läuft
dies ist mein Code
from rpy2 import robjects
from rpy2.robjects.packages import importr
questionr = importr(str('questionr'))
data = ["red/blue", "green", "red/green", "blue/red", "red/blue", "green", "red/green", "blue/red", "red/blue", "green", "red/green", "blue/red", "red/blue", "green", "red/green", "blue/red", "red/blue", "green"]
data_vector = robjects.StrVector(data)
multi_split = questionr.multi_split
data_table = multi_split(data_vector, split_char='/')
nach der letzten Zeile ich folgende Fehlermeldung bin immer:
RRuntimeError: Error in `colnames<-`(`*tmp*`, value = c("c(\"red/blue\",_\"green\",_\"red/green\",_\"blue/red\",_\"red/blue\",_\"green\",_.blue", :
'names' attribute [4] must be the same length as the vector [3]
Ich denke, dass es etwas mit der Größe des Vektors zu tun, dass ich ist zu senden, denn wenn ich das letzte Element
data = ["red/blue", "green", "red/green", "blue/red", "red/blue", "green", "red/green", "blue/red", "red/blue", "green", "red/green", "blue/red", "red/blue", "green", "red/green", "blue/red", "red/blue"]
und führen Sie dann entfernen
data_vector = robjects.StrVector(data)
multi_split = questionr.multi_split
data_table = multi_split(data_vector, split_char='/')
Ich erhalte keine Fehlermeldung. auch wenn ich den „split_char‘ var, zum Beispiel zu ändern:.
data_table = multi_split(data_vector, split_char='.')
ich keine Fehlermeldung erhalten, ganz gleich mit Größe eines Arrays bin das Senden mir
Ich habe versucht, den passenden Code auszuführen direkt in R (mit R-Studio) läuft es mit keinen Problemen. Alle Ideen, wie kann ich dieses Problem lösen?
ich den 'mnames' Parameter hinzuzufügen versucht haben, wie Sie können hier sehen: 'data_table = multi_split (data_vector, split_char = '/', mnames = robjects.StrVector ([ 'a', 'b']))', aber ich bin immer noch die gleiche Fehlermeldung bekommen. –
OK. Ich habe die Antwort aktualisiert. Hoffentlich ist eine der Optionen für Sie praktikabel. Immer wenn der R-Code den nicht bewerteten Ausdruck als Zeichenfolge verwendet, um Etiketten- oder Variablennamen zu erstellen, kann die Verwendung anonymer Objekte Probleme verursachen. – lgautier