1
Ich habe zwei Datenrahmen mit der gleichen Anzahl von Zeilen und Spalten, 113x159
mit dieser Struktur:Vergleichen Sie Werte von zwei Datenrahmen und ersetzen sie
df1:
1 2 3 4
a AT AA AG CT
b NA AG AT CC
c AG GG GT AA
d NA NA TT TC
df2:
1 2 3 4
a NA 23 12 NA
b NA 23 44 12
c 11 14 27 55
d NA NA 12 34
Ich möchte Wert zu Wert db1 e db2 vergleichen, und wenn der Wert von db 2 ist NA und der Wert von db1 nicht ist, ersetzen Sie es (auch wenn db1 Wert ist NA und in db2 nicht). Am Ende hat mein df dies sein: Das
1 2 3 4
a NA AA AG NA
b NA AG AT CC
c AG GG GT AA
d NA NA TT CC
Ich habe geschrieben, wenn Schleife, aber es nicht funktioniert:
Jede Ideemerge.na<-function(x){
for (i in df2) AND (k in df1){
if (i==NA) AND (k!=NA)
k==NA}
?
Sie nicht 'tun können == NA'. Verwenden Sie 'is.na()' –
'is.na (df1) <- is.na (df2)' –
@docendodiscimus besser sicher, es funktioniert sehr gut. Ich sehe, dass es sich auf der DF1 überschneidet, aber glücklicherweise habe ich eine Kopie. Vielen Dank! – mppd