Ich arbeite tatsächlich mit genomischen Daten, und ich habe einen Datenrahmen, den ich Ihnen die ersten drei Zeilen zeigen werde (siehe Tabelle unten):Ersetzen Sie verschiedene Werte in einer Spalte, entsprechend der Zeile Informationen in einer anderen Spalte
Chrom | POS | ID | REF | ALT | HapA | HapB |
----------------------------------------------------------
22 | 16495833 | rs116911124 | A | C | 1 | 0 |
22 | 19873357 | rs116378360 | T | A | 0 | 1 |
22 | 21416404 | rs117982183 | T | T | 0 | . |
Also, ich möchte die Werte von "0", "1" und "." aus den Spalten "HapA" und "HapB" gemäß den Spalten REF und ALT für jede Zeile im Datenrahmen. Zum Beispiel:
a) Für die erste Zeile möchte ich die "1" in der HapA Spalte für das "C" in der ALT Spalte und die "0" in der HapB Spalte für den "A" Wert in ändern die REF-Spalte
b) für die zweite Zeile die "0" für das "T" in der Spalte "REF" und die "1" für das "A" in der Spalte "ALT" ändern.
c) Und schließlich für das "." ändere es für "NA"
Ich denke, dass dies mit "if else" oder mit data.table erreicht werden könnte.
Vielen Dank.
Ist es immer die gleiche Regel 0 wird durch 'REF' Spalte und 1 durch' ALT' Spalte (und. Durch NA) ersetzen? –
Also 'HapA' und' HapB' sind beide Zeichenspalten? Sie sind nicht numerisch oder Integer, da '.' kein gültiger Wert für diese ist. –
@Slivero Hallo, ja Es ist immer die gleiche Regel, wo 0 durch REF Spalte und 1 durch ALT Spalte ersetzt wird –