Ich habe einen data.frame mit 2 Spalten („X“ und „Y“), die wie folgt aussieht:entfernen Zeilen aus data.frame wo Zahlen innerhalb gegenüberliegenden Seiten der Saiten ein gemeinsames Muster teilen passen
X Y
1_SNP_3 4
2_SNP_6 3
3_SNP_1 4
20_SNP_7 7
7_SNP_20 7
Mit grepl oder einer ähnlichen Funktion in R, möchte ich alle Elemente (Strings) in X vergleichen. Jede Zeichenfolge hat eine Nummer am Anfang und am Ende, und alle Zeichenfolgen teilen sich ein gemeinsames Teilzeichenmuster dazwischen ("__SNP_"). Ich möchte nur jene Zeilen entfernen, die, wenn die Zahlen innerhalb derselben Zeichenkette invertiert sind (z. B. von 1_SNP_3 zu 3_SNP_1), doppelte Zeichenketten bilden.
z.B. Wenn Zahlen in "1_SNP_3" invertiert werden, ergibt sich der String "3_SNP_1", der bereits existiert, sodass einer dieser Strings (und die entsprechende Zeile) entfernt wird.
Ich würde diese:
X Y
1_SNP_3 4
2_SNP_6 3
20_SNP_7 7
Warum '2_SNP_6' im Ergebnis ist? – zx8754
@ zx8754 weil es keine 6_SNP_2 irgendwo gibt – Lucas
Split auf "_" (es gibt viele Lösungen auf "wie Trennzeichen geteilt werden"), dann 1. und 3. in Zahlen umwandeln, diese 2 Nummern bestellen, SNP-Namen mit Paste wieder zusammensetzen und werde einzigartig. Versuchen Sie, wenn Sie stecken bleiben, aktualisieren Sie Ihren Post mit Problemen. – zx8754