Duplicar posible:
This R reshaping should be simple, but¿Se puede utilizarcast sin una función de agregado?
dcast
de reshape2
obras sin una fórmula en la que no hay duplicados. Tome estos datos de ejemplo:
df <- structure(list(id = c("A", "B", "C", "A", "B", "C"), cat = c("SS",
"SS", "SS", "SV", "SV", "SV"), val = c(220L, 222L, 223L, 224L,
225L, 2206L)), .Names = c("id", "cat", "val"), class = "data.frame", row.names = c(NA,
-6L))
me gustaría dcast
estos datos y sólo tienen los valores tabulados, sin aplicar ningún tipo de función a la value.var
incluyendo el valor por defecto length
.
En este caso, funciona bien.
> dcast(df, id~cat, value.var="val")
id SS SV
1 A 220 224
2 B 222 225
3 C 223 2206
Pero cuando hay variables duplicados, los fun
por defecto length
. ¿Hay alguna forma de evitarlo?
df2 <- structure(list(id = c("A", "B", "C", "A", "B", "C", "C"), cat = c("SS",
"SS", "SS", "SV", "SV", "SV", "SV"), val = c(220L, 222L, 223L,
224L, 225L, 220L, 1L)), .Names = c("id", "cat", "val"), class = "data.frame", row.names = c(NA,
-7L))
> dcast(df2, id~cat, value.var="val")
Aggregation function missing: defaulting to length
id SS SV
1 A 1 1
2 B 1 1
3 C 1 2
Lo ideal sería que lo que estoy buscando es añadir un fun = NA
, como en no tratar de agregar el value.var
. El resultado me gustaría cuando dcasting gl2:
id SS SV
1 A 220 224
2 B 222 225
3 C 223 220
4. C NA 1
¿Qué le gustaría que hay que hacer cuando existe una duplicación? – Dason
Simplemente agregue eso en otra fila con 'NA' para cualquier valor perdido. – Maiasaura
@Dason ¿Es kosher responder mi propia pregunta ahora que encontré una solución? ¿O debería simplemente eliminar el q? – Maiasaura