GOOGLE ADS

martes, 19 de abril de 2022

filtrar el marco de datos basado en dos columnas de otro marco de datos

Aquí los dos marcos de datos simulados:

df_1 <- data.frame(ID=c(1,1,1,2,2,3,4,4,4,5), type=c("A","G","D","B","C","R","U","A","T","E"))
df_2 <- data.frame(ID=c(1,1,2,2,3,4,5,5,6,7), type=c("A","Y","Q","B","C","R","U","E","J","A"))
ID type ID type
1 A 1 A
1 G 1 Y
1 D 2 Q
2 B 2 B
2 C 3 C
3 R 4 R
4 U 5 U
4 A 5 E
4 T 6 J
5 E 7 A

Quiero mantener solo las filas de df_2 que tienen la misma ID Y tipo de df_1, obteniendo:

ID type
1 A
2 B
5 E

Intenté usar el siguiente código pero no funciona correctamente.

data <- df_2 %>% 
filter(ID %in% df_1$ID & type==df_1$type)


Solución del problema

La función que necesitas es dplyr::intersect.

library(dplyr)
dplyr::intersect(df_1, df_2)
ID type
1 1 A
2 2 B
3 5 E

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...