Hola Juan Carlos,

Intenta lo siguiente:

# tus datos
x <- structure(list(Talla = 7:10, Estrato1 = c(3L, 8L, 2L, 62L), Estrato2 =
c(5L,
9L, 35L, 111L), Estrato3 = c(7L, 2L, 43L, 57L)), .Names = c("Talla",
"Estrato1", "Estrato2", "Estrato3"), class = "data.frame", row.names =
c(NA,
-4L))

# procesamiento
r <- apply(x, 1, function(l) rep(l[-1], each = l[1]))
r <- do.call(rbind, lapply(r, as.data.frame.table))
colnames(r) <- c('Estrato', 'Talla')

# media, varianza y cuartiles
with(r, tapply(Talla, Estrato, mean))
with(r, tapply(Talla, Estrato, var))
with(r, tapply(Talla, Estrato, quantile))

# boxplot
boxplot(Talla ~ Estrato, data = r)

Un saludo,
Jorge.-



2012/7/21 JC A <>

>
> Hola a todos,
>
> Estoy tratando de averiguar la media y la desviación estandar de mis datos
> y aunque supongo de no debe ser muy dificil, estoy empezando con R y ando
> perdido. Mi tabla tiene la siguiente estructura
>
> Talla    Estrato1   Estrato2    Estrato3........... Estrato8
> 7                  3             5              7                       0
> 8                  8             9              2                       1
> 9                  2             35            43                      7
> 10                62           111           57                      5
> .
> .
> .
> .
> 72                0              0             1                         0
>
>
> En la columna de la talla, tengo la longitud de los ejemplares, y en las
> columnas de los Estratos, tengo el número de veces que se ha medido un
> ejemplar de esa talla. Es decir, p.ej., en el Estrato3 de han medido 43
> ejemplares de 9 cms.
>
> Si dispusiera de los datos de otra manera no tendría problema en calcular
> la media y la desviación estandar, pero de ésta forma no doy con ello.
> Después de buscar he visto que lo podría hacer usando la función rep() y
> así tener los datos de una forma que sería fácil calcular los estadísticos
> que necesito. El problema es que mi distribución de tallas va desde 7 hasta
> 72 y tengo 8 estratos, con un total de 9500 datos, con lo que iba a ser
> bastante laborioso. Y seguro que hay una forma mucho más rápida y elegante.
>
> Por lo que he estado viendo, creo podría hacerse con for (), pero estoy
> todavía un poco verde y no veo la forma de hacerlo (si se puede, claro).
>
> A ver si alguien puede echarme una mano.
>
> Un saludo y gracias
>
> Juan Carlos
>
>
> ***************************************
> Si las cuerdas del trapecio las corté
> fue para subir y atarlas
> y ver a la luna otra vez.
> Y volverlas a cortar una y mil veces
> y boquear como los peces cuando les toca perder.
>
>
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>

	[[alternative HTML version deleted]]

