En este artículo, discutiremos cómo encontrar la diferencia entre dos marcos de datos o comparar dos marcos de datos o conjuntos de datos en el lenguaje de programación R.
Método 1: Usar la función Intersect
La función de intersección en R ayuda a obtener los elementos comunes en los dos conjuntos de datos.
Sintaxis:
intersect(nombres(datos_cortos), nombres(datos_largos))
Ejemplo:
R
first <- data.frame( "1" = c('0.44','0.554','0.67','0.64'), "2" = c('0.124','0.22','0.82','0.994'), "3" = c('0.82','1.22','0.73','1.23') ) second <- data.frame( "1" = runif(4), "2" = runif(4), "3" = runif(4), "d" = runif(4), "e" = runif(4) ) second[intersect(names(first), names(second))]
Producción:
1 2 3
1 0,562627228 0,9391250 0,6437934
2 0,003867576 0,7131200 0,9313777
3 0,129852760 0,2657934 0,9291285
4 0,325867139 0,2367633 0,1211350
Método 2: usando setdiff()
Esta función, a diferencia de la intersección, ayuda a ver las columnas que faltan en el primer marco de datos.
Sintaxis:
setdiff(marco de datos2, marco de datos 1)
Ejemplo:
R
first <- data.frame( "1" = c('0.44','0.554','0.67','0.64'), "2" = c('0.124','0.22','0.82','0.994'), "3" = c('0.82','1.22','0.73','1.23') ) second <- data.frame( "1" = runif(4), "2" = runif(4), "3" = runif(4), "d" = runif(4), "e" = runif(4) ) second[setdiff(names(second), names(first))]
Producción:
de
1 0.7899783 0.04363003
2 0,9167861 0,39865991
3 0,3314494 0,13963663
4 0,7005957 0,73401069
Método 3: Usar colnames y dplyr
Seleccionaremos de dplyr para obtener las columnas del marco de datos en las que se realizarán algunas operaciones para obtener la diferencia deseada entre los dos marcos de datos.
Ejemplo:
R
library("dplyr") first <- data.frame( "1" = c('0.44','0.554','0.67','0.64'), "2" = c('0.124','0.22','0.82','0.994'), "3" = c('0.82','1.22','0.73','1.23') ) second <- data.frame( "1" = runif(4), "2" = runif(4), "3" = runif(4), "d" = runif(4), "e" = runif(4) ) second%>%select(which(!(colnames(second) %in% colnames(first))))
Producción:
de
1 0.7899783 0.04363003
2 0,9167861 0,39865991
3 0,3314494 0,13963663
4 0,7005957 0,73401069
Publicación traducida automáticamente
Artículo escrito por tedious_wings y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA