veces valores studio repite reemplazar quitar nulos funcion eliminar duplicados datos dato data cuantas contar como casos r tidyr

valores - funcion contar si en r



Difundir con data.frame/tibble con identificadores duplicados (1)

La intervención de Hadley fue sorprendentemente perfecta ... pero acabé teniendo un poco de sintaxis después de eso ... así que por lo que vale, publico el código completamente operativo (lo siento, mi sintaxis es un poco diferente a la anterior):

library(tidyr) library(dplyr) wide <- iris %>% mutate(row = row_number()) %>% gather(vars, val, -Species, -row) %>% spread(vars, val) head(wide) # Species row Petal.Length Petal.Width Sepal.Length Sepal.Width # 1 setosa 1 1.4 0.2 5.1 3.5 # 2 setosa 2 1.4 0.2 4.9 3.0 # 3 setosa 3 1.3 0.2 4.7 3.2 # 4 setosa 4 1.5 0.2 4.6 3.1 # 5 setosa 5 1.4 0.2 5.0 3.6 # 6 setosa 6 1.7 0.4 5.4 3.9 head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa

Son lo mismo ... solo necesitas reordenar si quieres ...

wide <- wide[,c(3, 4, 5, 6, 1)] ## Reorder and then remove "row" column

y hecho.

La documentación para tidyr sugiere que recopilar y propagar son transitivos, pero el siguiente ejemplo con los datos del "iris" muestra que no lo son, pero no está claro por qué. Cualquier aclaración sería muy apreciada

iris.df = as.data.frame(iris) long.iris.df = iris.df %>% gather(key = feature.measure, value = size, -Species) w.iris.df = long.iris.df %>% spread(key = feature.measure, value = size, -Species)

Esperaba que el marco de datos "w.iris.df" fuera el mismo que "iris.df" pero en su lugar recibió el siguiente error:

"Error: identificadores duplicados para las filas (1, 2, 3, 4, 5, 6, 7, 8, 9 ..."

Mi pregunta general es cómo invertir una aplicación de "reunir" en este tipo de conjunto de datos.