Ich habe einen Datenrahmen:Standorte der Pausen (Crossover) von einem Datenrahmen in r
df = read.table(text="ID location C1 C2 C3 C4 C5 C6
M01 1 A H H A A B
M02 2 A H A A A B
M03 3 A B A A A B
M04 4 H B H A A B
M05 5 H B H A A B
M06 6 A B H A A H
M07 7 A B H B A H
M08 8 A B H A A H
M09 9 A B H A A H
M10 10 B B H A A H
M11 11 A B H A A H
M12 12 A B H A A H
M13 13 A B H A A H
M14 14 B B B A A H
M15 15 B B B A A A", header=T, stringsAsFactors=F)
Ich mag würde die Standorte von Überkreuzungen oder Brüche (die Übergänge zwischen verschiedenen Buchstaben für jede Spalte) zu finden. Zum Beispiel sollte für Spalte C1
die erste Verbindung Zeile 3 und Zeile 4 sein. Von Zeile 1 bis Zeile 3 sind sie alle A
. Zeile 4 ist H
. Der Ort dieser Kreuzung ist also 3. Das erwartete Ergebnis ist eine Liste von Spalten von C1
bis C6
.
$C1
3 5 9 10 13
$C2
2
$C3
1 3 13
$C4
6 7
$C5
$C6
5 14
Danke für Hilfe.
Ich bin überrascht von Ihrem einfachen Ansatz, im Vergleich zu der Funktion 'locateXO' in' qtl' R-Paket. – user3354212
@akrun: Warum gibt es eine Warnung mit "lapply" (df [- (1: 2)], Funktion (x) welche (x [-1]! = X))? –
@ChirayuChamoli Unter Verwendung der OP-Daten erhalte ich keine Warnungen in R 3.3.0 – akrun