Con df:¿Mejor forma de obtener una tabla de frecuencia para datos continuos (R)?
df <- data.frame(value=abs(rnorm(100, 25, 5)), status=sample(0:1,100,replace=T))
df$value[sample(1:100,5)] <- NA
que necesito para obtener una tabla de frecuencia (porcentaje) (mejor devolver una matriz) como el siguiente:
value | status(0) status(1)
----------------------------
<=25 | 23 (23%) 20 (20%)
>25 | 27 (27%) 25 (25%)
NA | 3 (3%) 2 (2%)
que pueda hacer esto usando:
br <- seq(0, 50, 25)
with(df, summary(cut(value[status==0], br, labels=br[-1],
include.lowest=T, ordered_result=T)))
with(df, summary(cut(value[status==1], br, labels=br[-1],
include.lowest=T, ordered_result=T)))
¿Pero habría una forma única de devolver una matriz como la anterior? ¡Gracias!
Y, si no desea especificar los puntos de truncamiento izquierdo y derecho, establezca 'breaks = c (-Inf, 25, Inf)'. –
Buen consejo. Siempre me olvido de eso, yo mismo. –
¡Gracias! Debería haber sabido mesa() mejor. :) – Rock