Hola a tod en s, Trabajo con datos de abundancia (número de individuos) por tallas (medidas al medio centímetro inferior) de diferentes especies de peces y mis datos base son el número medido de peces por talla. Necesitaría vuestra ayuda para transformar las distribuciones de frecuencias de talla a los datos brutos que las generaían. Es decir, pasar de algo como esto 8 1 8.5 3 9 5 10 7 10.5 4 11 2 11.5 1 A esto 8 8.5 8.5 8.5 9 9 9 9 9 10 10 10 10 10 10 10 10.5 10.5 10.5 10.5 11 11 11.5 Gracias de antemano y mucho ánimo para estos tiempos inciertos que vivimos. Ana [[alternative HTML version deleted]]
Hola, Sí, esta es una forma...> dat_freq <- data.frame(+ val = c(8, 8.5, 9, 10, 10.5, 11, 11.5), + freq = c(1, 3, 5, 7, 4, 2, 1) + )> > rep(dat_freq$val, dat_freq$freq)[1] 8.0 8.5 8.5 8.5 9.0 9.0 9.0 9.0 9.0 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.5 10.5 10.5 10.5 11.0 [22] 11.0 11.5 Gracias, Carlos Ortega www.qualityexcellence.es El mar., 14 abr. 2020 a las 21:40, ANA VENTERO MARTIN (<ana.ventero en ieo.es>) escribió:> Hola a tod en s, > Trabajo con datos de abundancia (número de individuos) por tallas > (medidas al medio centímetro inferior) de diferentes especies de peces > y mis datos base son el número medido de peces por talla. Necesitaría > vuestra ayuda para transformar las distribuciones de frecuencias de > talla a los datos brutos que las generaían. > Es decir, pasar de algo como esto > 8 1 > 8.5 3 > 9 5 > 10 7 > 10.5 4 > 11 2 > 11.5 1 > A esto > 8 > 8.5 > 8.5 > 8.5 > 9 > 9 > 9 > 9 > 9 > 10 > 10 > 10 > 10 > 10 > 10 > 10 > 10.5 > 10.5 > 10.5 > 10.5 > 11 > 11 > 11.5 > Gracias de antemano y mucho ánimo para estos tiempos inciertos que vivimos. > Ana > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Juan Carlos Lopez Mesa
2020-Apr-15 17:04 UTC
[R-es] desagregar distribución de frecuencias
datos <- data.frame(talla = c(8, 8.5, 9, 10, 10.5, 11, 11.5), n = c(1, 3, 5, 7, 4, 2, 1)) mapply(FUN = rep, datos$talla, datos$n) unlist(mapply(FUN = rep, datos$talla, datos$n)) El mar., 14 abr. 2020 a las 14:40, ANA VENTERO MARTIN (<ana.ventero en ieo.es>) escribió:> Hola a tod en s, > Trabajo con datos de abundancia (número de individuos) por tallas > (medidas al medio centímetro inferior) de diferentes especies de peces > y mis datos base son el número medido de peces por talla. Necesitaría > vuestra ayuda para transformar las distribuciones de frecuencias de > talla a los datos brutos que las generaían. > Es decir, pasar de algo como esto > 8 1 > 8.5 3 > 9 5 > 10 7 > 10.5 4 > 11 2 > 11.5 1 > A esto > 8 > 8.5 > 8.5 > 8.5 > 9 > 9 > 9 > 9 > 9 > 10 > 10 > 10 > 10 > 10 > 10 > 10 > 10.5 > 10.5 > 10.5 > 10.5 > 11 > 11 > 11.5 > Gracias de antemano y mucho ánimo para estos tiempos inciertos que vivimos. > Ana > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Hola, yo uso la función expand de dplyr. Hace poco puse un ejemplo de uso en el blog https://analisisydecision.es/los-pilares-de-mi-simulacion-de-la-extension-del-covid19/ muestra <- muestra %>% group_by(seccion,rango_edad) %>% summarise(habitantes=sum(habitantes)) tenía datos por sección censal y rango de edad y quería un registro en función de un campo conteo. Saludos.