univariantes o univariados... datos!

Existen tres tipos básicos diferentes: categóricos, numéricos discretos y numéricos continuos; y como no podía ser de otra manera, R conoce algunas de sus diferencias. Los métodos para visualizar y resumir los datos dependen de su tipo, por lo que tenemos que saber qué podemos hacer con ellos.

Una forma simple e intuitiva de probarlo es preguntarnos cuál es su media, claramente... si la pregunta no tiene sentido los datos son categóricos (ej: trabajador y desempleado; (1)), si sí lo tiene, pero su respuesta no es posible (ej: 20.3 años, cuando solo registras números enteros) entonces los datos son discretos, y en caso contrario son continuos.
  • Datos categóricos: utilizamos tablas (table()), o gráficos de barras o sectores (barplot(), pie())
  • Datos numéricos: utilizamos medidas de centralización y dispersión (2), así como medidas resistentes o robustas (útiles cuando existen largas colas o muchos outliers, casi siempre, digamos; ver tabla). En cuanto a gráficos, pordemos utilizar los diagramas de tallos y hojas (stem()), histogramas (hist()), gráficos de cajas (boxplot()), o un gráfico EDA(simple.eda(UsingR)).
Continuará... histogramas y gráficos de cajas en un mismo gráfico (simple.hist.and.plot()), polígonos de frecuencia (hist() y lines()), densidades (hist(data) y lines(density(data))), etc.

(1) Seamos claros, los datos categóricos son aquellos que registran categorías. Medir en una escala categórica consiste en observar el resultado de un experimento y asignarle una clase o categoría (no numérica), de entre un número finito de clases posibles. La escala puede ser categórica ordinal, es decir, sus categorías tienen un orden natural, o en caso contrario la escala es categórica nominal.
(2) ojo! existen diferencias entre summary() y fivenum()! ver ayuda de R para que no queden dudas:
# mean,median,25th and 75th quartiles,min,max
summary(mydata)

# Tukey min,lower-hinge, median,upper-hinge,max
fivenum(x)


Otras funciones:
library(Hmisc)
describe(mydata)
# n, nmiss, unique, mean, 5,10,25,50,75,90,95th percentiles
# 5 lowest and 5 highest scores

library(pastecs)

stat.desc(mydata)
# nbr.val, nbr.null, nbr.na, min max, range, sum,
# median, mean, SE.mean, CI.mean, var, std.dev, coef.var

library(psych)

describe(mydata)
# item name ,item number, nvalid, mean, sd,
# median, mad, min, max, skew, kurtosis, se


#Summary Statistics by Group
library(psych)
describe.by(mydata, group,...)

library(doBy)
summaryBy(mpg + wt ~ cyl + vs, data = mtcars,
FUN = function(x) { c(m = mean(x), s = sd(x)) } )
# produces mpg.m wt.m mpg.s wt.s for each combination of the levels of cyl and vs

#See also: aggregating data.
library(Rmcdr) numSummary(mydata,statistics=c(mean,sd))

library(fBasics)
kurtosis(mydata)
skewness(mydata)

Comentarios