poligono para pairs librerias grafico graficas graficar grafica etiqueta ejemplos datos cuadricula r dataframe duplicate-removal delete-row corresponding-records

para - ¿Eliminar filas que existen en otro marco de datos?



poligono en r (3)

Tengo los dos marcos de datos siguientes (ejemplo):

df1:

name profile type strand A 4.5 1 + B 3.2 1 + C 5.5 1 + D 14.0 1 - E 45.1 1 - F 32.8 1 - G 19.9 1 +

df2:

name A B C G

Me gustaría eliminar las filas en df1 para las cuales df1$name = df2$name para obtener lo siguiente:

Salida:

name profile type strand D 14.0 1 - E 45.1 1 - F 32.8 1 -

Si alguien pudiera decirme qué parte del código utilizarlo sería de mucha ayuda, parecía simple al principio pero lo he estado arruinando desde ayer.


Esto a veces se llama un anti-join :

library(dplyr) anti_join(df1, df2, by = "name")


Necesitas el operador %in% . Asi que,

df1[!(df1$name %in% df2$name),]

Debería darte lo que quieres.

  • df1$name %in% df2$name comprueba si los valores en df1$name están en df2$name
  • El operador invierte el resultado.

df1[!(as.character(df1$jobId) %in% as.character(df2$name)), ]

Tuve que agregar as.character a mi ejecución porque el name no es un carácter sino un factor. ¿No se supone %in% para convertir esto directamente?