Tengo un conjunto de datos Me gustaría eliminar las filas de datos que tienen información duplicada en 4 columnas diferentes.eliminar filas duplicadas según las condiciones de varias columnas en r
foo<- data.frame(g1 = c("1","0","0","1","1"), v1 = c("7","5","4","4","3"), v2 = c("a","b","x","x","e"), y1 = c("y","c","f","f","w"), y2= c("y","y","y","f","c"), y3 = c("y","c","c","f","w"), y4= c("y","y","f","f","c"), y5=c("y","w","f","f","w"), y6=c("y","c","f","f","w"))
foo entonces se parece a:
g1 v1 v2 y1 y2 y3 y4 y5 y6
1 1 7 a y y y y y y
2 0 5 b c y c y w c
3 0 4 x f y c f f f
4 1 4 x f f f f f f
5 1 3 e w c w c w w
Ahora, quiero eliminar cualquier fila que ha duplicado los datos basados en las Y1-6columns. Por lo tanto, solo se eliminarán las filas 4 y 1 si se realizan correctamente, en función de que todas las variables Y sean exactamente iguales. Es una condición de columna múltiple.
Creo que estoy cerca, pero simplemente no funciona correctamente.
He intentado: new = foo[!(duplicated(foo[,1:6]))]
pensando en utilizar el comando duplicado que buscaría y solo encontrar los que coinciden exactamente?
Pensé en usar un enunciado condicional con &, pero tampoco sé cómo hacerlo.
new = foo[foo$y1==foo$y2|foo$y3|foo$y4|foo$y5|foo$y6]
Pensé en qué pero ahora estoy abrumado y perdido. Yo esperaría foo para que parezca:
g1 v1 v2 y1 y2 y3 y4 y5 y6
2 0 5 b c y c y w c
3 0 4 x f y c f f f
5 1 3 e w c w c w w
Mi favorito hasta ahora. –
Disculpe que simplifiqué mi ejemplo, porque tengo más columnas de información ... por lo tanto, basándome en la variable 1-6 SOLAMENTE de, digamos, 9 columnas de información totales. Editaré el ejemplo anterior – Kerry
Actualicé mi respuesta. Ahora, la selección de filas se basa en las columnas y1 - y6. –