Saltar al contenido principal
Documentos
Gestión de datos en RGráficos en RR DocumentaciónInterfaz REstadística en RIntroducción de datos en R

Funciones incorporadas en R

Casi todo en R se hace mediante funciones. Aquí sólo me refiero a las funciones numéricas y de caracteres que se utilizan habitualmente para crear o recodificar variables.

(Para practicar el trabajo con funciones, haz el Curso Intermedio de R).

Funciones numéricas

   
Función Descripción
abs(x) valor absoluto
sqrt(x) raíz cuadrada
techo(x) techo(3.475) es 4
suelo(x) suelo(3,475) es 3
trunc(x) trunc(5.99) es 5
redonda(x , dígitos= n) round(3,475, dígitos=2) es 3,48
signif(x , dígitos= n) signif(3,475, dígitos=2) es 3,5
cos(x), sen(x), tan(x) also acos(x), cosh(x), acosh(x), etc.
log(x) logaritmo natural
log10(x) logaritmo común
exp(x) e^x

Funciones de carácter

   
Función Descripción
substr(x , start= n1 , stop= n2) Extraer o sustituir subcadenas en un vector de caracteres. x <- "abcdef" substr(x, 2, 4) es "bcd" substr(x, 2, 4) <- "22222" es "a222ef"
grep(pattern , x , ignore.case= FALSE , fixed= FALSE ) Busca un patrón en x. Si fixed =FALSE, el patrón es una expresión regular. Si fixed=TRUE, el patrón es una cadena de texto. Devuelve los índices coincidentes. grep("A", c("b", "A", "c"), fixed=TRUE) devuelve 2
sub(patrón , sustitución , x , ignorar.caso = FALSE , fijo= FALSE ) Busca un patrón en x y sustitúyelo por el texto de sustitución. Si fixed=FALSE, el patrón es una expresión regular. Si fixed = T, el patrón es una cadena de texto. sub("\s",".", "Hola.Ahí") devuelve "Hola.Ahí"
strsplit(x , split) Dividir los elementos del vector de caracteres x en split.strsplit("abc", "") devuelve un vector de 3 elementos "a", "b", "c"
pegar(..., sep="") Concatena cadenas después de utilizar la cadena sep para separarlas.paste("x",1:3,sep="") devuelve c("x1", "x2" "x3")paste("x",1:3,sep="M") devuelve c("xM1", "xM2" "xM3")paste("Hoy es", date())
toupper(x) Mayúsculas
tolower(x) Minúsculas

Funciones estadísticas de probabilidad

La siguiente tabla describe las funciones relacionadas con las distribuciones de probailidad. Para los generadores de números aleatorios que aparecen a continuación, puedes utilizar set.seed(1234) o algún otro número entero para crear números pseudoaleatorios reproducibles.

   
Función Descripción
dnorma(x) función de densidad normal (por defecto m=0 sd=1)# trazar curva normal estándarx <- pretty(c(-3,3), 30)y <- dnorm(x) plot(x, y, type='l', xlab="Desviación normal", ylab="Densidad", yaxs="i")
pnorm(q) la probabilidad normal acumulada para q(área bajo la curva normal a la izquierda de q)pnorm(1,96) es 0,975
qnorm(p) cuantil normal. valor en el percentil p de la distribución normalqnorm(.9) es 1,28 # percentil 90
rnorma(nm=0, sd=1) n desviaciones normales aleatorias con media mand desviación típica sd. #50 variantes normales aleatorias con media=50, sd=10x <- rnorm(50, m=50, sd=10)
dbinom(x, tamaño, prob)pbinom(x, tamaño, prob)qbinom(p, tamaño, prob)rbinom(n, tamaño, prob) distribución binomial donde tamaño es el tamaño de la muestray probabilidad es la probabilidad de que salga cara (pi)# probabilidad de 0 a 5 caras de una moneda de 10 lanzamientosdbinom(0:5, 10, .5)# probabilidad de 5 o menos caras de una moneda de 10 lanzamientospbinom(5, 10, .5)
dpois(x,lamda)ppois(x,lamda)qpois(x,lamda)rpois(x,lamda) distribución poisson con m=std=lamda#probabilidad de 0,1 ó 2 sucesos con lamda=4dpois(0:2, 4)#probabilidad de al menos 3 sucesos con lamda=41- ppois(2,4)
dunif(xmin=0, max=1)punif(xmin=0, max=1)qunif(xmin=0, max=1)runif(xmin=0, max=1) distribución uniforme, sigue el mismo patrón que la distribución normal anterior.#10 variantes aleatorias uniformes x <- runif(10)

Otras funciones estadísticas

En la tabla siguiente se indican otras funciones estadísticas útiles. Cada uno tiene la opción na.rm para eliminar los valores perdidos antes de los cálculos. De lo contrario, la presencia de valores omitidos dará lugar a un resultado omitido. El objeto puede ser un vector numérico o un marco de datos.

   
Función Descripción
media(x ,recorte=0,na.rm= FALSE ) media del objeto x# media recortada, eliminando los valores que falten y# el 5% de las puntuaciones más alta y más bajamx <- media(x,trim=.05,na.rm=TRUE)
sd(x) desviación típica del objeto(x). mira también var(x) para la varianza y mad(x) para la desviación absoluta media.
mediana(x) mediana
cuantil(x , probs) cuantiles donde x es el vector numérico cuyos cuantiles se desean y probs es un vector numérico con probabilidades en [0,1].# percentiles 30 y 84 de xy <- cuantil(x, c(.3,.84))
range(x) gama
sum(x) suma
dif(x , lag= 1) diferencias retardadas, con lag indicando qué retardo utilizar
min(x) mínimo
max(x) máximo
scale(x , center= TRUE , scale= TRUE ) centrar columnas o normalizar una matriz.

Otras funciones útiles

   
Función Descripción
seq(de , hasta , en) genera una secuenciaíndices <- seq(1,10,2)#índices es c(1, 3, 5, 7, 9)
rep(x , nveces) repite x n vecesy <- rep(1:3, 2)# y es c(1, 2, 3, 1, 2, 3)
cortar(x , n) dividir variable continua en factor con n nivelesy <- cut(x, 5)

Ten en cuenta que, aunque los ejemplos de esta página aplican funciones a variables individuales, muchas pueden aplicarse también a vectores y matrices.

Aprende lo esencial de R

Domina los fundamentos del análisis de datos en R, incluyendo vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Empieza a aprender R gratis