Notas R
Notas R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
24 de abril de 2026
Prompt de inicio
Comentando el código
Creación de vectores
Operadores de importancia
Operadores aritméticos
+ suma / división
- resta ^ elevar a una potencia
* multiplicación %% módulo o residuo
Ejemplo:
> 3 + 4
[1] 7
> 2^5
[1] 32
Operadores relacionales
Operadores lógicos
&& Y
|| O
A B A&&B A B A||B
TRUE TRUE TRUE TRUE TRUE TRUE
TRUE FALSE FALSE TRUE FALSE TRUE
FALSE TRUE FALSE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE FALSE FALSE
Para negar una proposición utilizamos ! como prefijo, es decir, !A quiere decir
no A.
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Expresiones y objetos
La interacción básica se realiza a través de la evaluación de
expresiones: el usuario da una expresión, el sistema la evalúa e
imprime un resultado
Cualquier expresión devuelve un valor, incluso puede ser NULL
Algunas expresiones no son evaluadas como una salida en la
consola, ya que devuelven una ventana de gráfico o envı́an su
salida a un archivo
Objeto es un término abstracto usado para cualquier resultado
que pueda asignarse a una variable
No discutiremos aquı́ que son los objetos, más bien nos
concentraremos en cómo generarlos y que hacer con ellos
Algunas expresiones carecen de sentido sin el conocimiento de
los objetos que devuelven, por ello, a continuación
presentamos los más comunes
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Aritmética vectorial
Ejemplo:
> x <- 1:10
> y <- 10:1
> ej1 <- x*y
> ej2 <- x/y
> ej3 <- (x-y)/(x*y)
> ej4 <- x^y
> ej5 <- cos(y/x)
Subconjuntos
El primer elemento de un vector está asociado al ı́ndice 1, el
segundo al 2 y ası́ sucesivamente
La forma de acceder a un subconjunto de datos dentro de un
vector es por medio de un número o incluso también por
medio de un vector que se especifica dentro de corchetes
después del nombre del vector en cuestión
Ejemplo
x[n] accede al elemento n del vector x
x[-n] accede a todos los elementos de x menos al n
x[1:n] selecciona los elementos entre los ı́ndices 1 y n
x[c(1,5,9)] acceder a los elementos en los ı́ndices 1, 5 y 9
Matrices
Listas
Listas
Expresiones
Una expresión es un conjunto de caracteres que pueden ser
interpretados según las reglas de R
En ciertos casos, es útil construir una expresión y después
evaluarla como si se tratara de una función
Las expresiones son evaluadas mediante eval()
> exp1 <- expression(x/(y + exp(z)))
> x <- 3
> y <- 2.5
> z <- 1
> eval(exp1)
x
exp1(x, y , z) =
y + ez
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Expresiones
Funciones
En R, muchos procedimientos se realizan llamando a una función, es
decir, a través de comandos tales como log(x), plot(x, y), etc.
La sintaxis general de cualquier función es:
nombre de la función,
paréntesis abre (
argumentos, pueden ser uno o más, dependiendo la función,
paréntesis cierra )
En su mayorı́a, los argumentos de una función pueden ser pasados
por omisión, respetando el orden posicional especı́fico que
corresponde a cada uno de ellos
Si no se recuerda el orden en que deben colocarse los argumentos,
estos podrán pasarse incluso no respetando el orden posicional
especı́fico mediante la notación argumento=valor
Funciones matemáticas
all() devuelve TRUE si todos los elementos de un vector
lógico son verdaderos
any() devuelve TRUE si al menos uno de los elementos es
verdadero
sum() devuelve la suma de los elementos de un vector
prod() calcula el producto de un vector
min() devuelve el mı́nimo por columna
max() devuelve el máximo por columna
pmin() calcula el mı́nimo por renglón
pmax() calcula el máximo por renglón
range() calcula el rango de un vector
Funciones matemáticas
abs(x) valor absoluto |x|
sign(x) función signo
√
sqrt(x) raı́z cuadrada x
floor(x) máximo entero menor ⌊x⌋
ceiling(x) mı́nimo entero mayor ⌈x⌉
trunc(x) función truncamiento
round(x,n) redondeo de x hasta n decimales
exp(x) exponencial
log(x) logaritmo natural
log10(x) logaritmo base 10
cos(x) coseno
sin(x) seno
tan(x) tangente
acos(x) arcocoseno o coseno inverso
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Funciones matemáticas
asin(x) arcoseno o seno inverso
atan(x) arcotangente o tangente inversa
cosh(x) coseno hiperbólico
sinh(x) seno hiperbólico
tanh(x) tangente hiperbólica
acosh(x) arcocoseno hiperbólico
asinh(x) arcoseno hiperbólico
atanh(x) arcotangente hiperbólica
gamma(x) función gama Γ(x)
lgamma(x) logaritmo natural de la función gama log (Γ(x))
Xk
cumsum(x) suma acumulada xk = xi
i=1
k
Y
cumprod(x) producto acumulado xk = xi
i=1
cummax(x) máximo k-ésimo maxxk (x1 , . . . , xk )
cummin(x) mı́nimo k-ésimo minxk (x1 , . . . , xk )
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Funciones
Estructuras de control
La función source()
Lectura y escritura
getwd y setwd
Las funciones getwd() y setwd() permiten conocer la ruta
del directorio de trabajo actual y, en caso necesario,
modificar este por un nuevo directorio de trabajo con la
finalidad de tener acceso a los archivos que serán leı́dos
getwd() devuelve la cadena de caracteres del directorio de
trabajo actual
setwd(dir) cambia el directorio de trabajo a la ruta
establecida en dir
En el sistema operativo MS-DOS/Windows los nombres de
directorios se separan por el caracter \ (backslash)
R utiliza el caracter / para separar los nombres de directorios
por lo que antes será necesario cambiar \ por / (slash) en
dir
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Marco de datos
Marco de datos
Salida de datos
Ejemplo:
[Link](...)
write.csv2(...)
x el objeto que será escrito en la salida,
preferentemente una matriz o un marco de datos
file cadena de caracteres con el nombre del archivo donde
será escrita la salida. ”” indica salida hacia la consola
sep caracter separador de campo. Valor dentro de cada
renglón de x son separados por este caracter
Guardar objetos
attach() y detach()
Sintaxis:
> attach(marco_ de_datos)
El nombre del marco de datos se añade a la ruta de búsqueda
Al evaluar cualquier variable, R buscará dicha variable,
primero dentro del marco de datos y después fuera de él. De
esta manera se simplifica la cantidad de código que debemos
escribir ya que para acceder a las variables en un marco de
datos bastará con escribir su nombre
Sintaxis:
> detach(marco_de_datos)
Borra el nombre de un marco de datos de la ruta de búsqueda.
Se trata de la operación inversa a attach
Factor
Es común que los datos recolectados mediante instrumentos
tales como un cuestionario contengan variables de tipo
categórico
Generalmente, estas variables indican la división de los datos
en estratos o categorı́as
Ejemplo: sexo, escolaridad, nivel socioeconómico, diagnóstico
de una enfermedad, etc. las cuales generalmente se levantan
mediante códigos numéricos con la finalidad de facilitar su
captura
En R las variables categóricas deben ser manipuladas por
medio de variables tipo factor
El objeto factor permite asignar nombres significativos a
cada una de las categorı́as
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Factor
Selección condicional
A menudo, se requiere extraer datos que cumplan con algún criterio
especı́fico. Esta operación se puede hacer mediante la inserción de una
expresión relacional:
edad[sat1 < 3]
la cual tiene sentido sı́ y sólo sı́ ambas variables tienen la misma longitud.
Se pueden utilizar los operadores lógicos &, | y ! para crear expresiones
relacionales más complejas. Por ejemplo:
edad[sat1 >= 1 & sat1 <= 5 & sat1!=3]
Revisando con un poco de detalle nos encontramos con que el resultado
es un vector lógico. De esta manera son seleccionados únicamente
aquello ı́ndices cuyo resultado es igual a TRUE
sat1 >= 1 & sat1 <= 5 & sat1!=3
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Subconjuntos
Valores faltantes
Densidades continuas
1
Uniforme fX (x; a, b) = , x ∈ (a, b), a < b ∈ R
b−a
(x − µ)2
1
Normal fX (x; µ, σ) = √ exp − , x ∈ R,
2πσ 2 2σ 2
µ ∈ R, σ > 0
Exponencial fX (x; λ) = λe −λx , x ≥ 0, λ > 0
x α−1 −x/β
Gama fX (x; α, β) = α e , x ≥ 0, α > 0, β > 0
β Γ(α)
k x k−1 −(x/λ)k
Weibull fX (x; λ, k) = e , x ≥ 0, k > 0,λ > 0
λ λ
1 γ
Cauchy fX (x; x0 , γ) = , x > x0 , x0 ∈ R,
π (x − x0 )2 + γ 2
γ > 0. Esperanza, varianza y cualquier otro momento de
orden superior, no existen.
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Densidades continuas
Γ(a + b) a−1
Beta fX (x; a, b) = x (1 − x)b−1 , x ∈ [0, 1], a > 0,
Γ(a)Γ(b)
b>0
Γ((n + 1)/2)
1 + x 2 /n −(n+1)/2 , x ∈ R,
Student fX (x; ν) = √
nπΓ(n/2)
n>0
n/2
1 1
2
Ji-cuadrada,χ (n), fX (x; n) = x n/2−1 e −x/2 ,
Γ(n/2) 2
x > 0, n ≥ 0
Densidades discretas
λx −λ
Poisson fX (x; λ) = e , x ∈ N, λ > 0
x!
n
Binomial fX (x; n, p) = p x (1 − p)n−x , x ∈ {1, . . . , n},
x
p ∈ (0, 1)
Geométrica fX (x; p) = p(1 − p)x , x ∈ {0, 1, 2, . . .}, p ∈ (0, 1]
m N −m
x n−k
Hipergeométrica fX (x; N, m, n) = ,
N
n
N ∈ N, m ∈ 0, 1, . . . , N, n ∈ 0, 1, 2, . . . , N
Γ(k + x) k
Binomial negativa fX (x; k, p) = p (1 − p)x ,
k!Γ(k)
x ∈ {0, 1, 2, . . .}, k > 0, p ∈ (0, 1]
M. en C. Benjamı́n Figueroa Solano Facultad de Ciencias, UNAM
Introducción a R
Objetos y expresiones
Funciones y control del flujo
Entrada y salida de datos
Manipulación de datos
Distribuciones de probabilidad y generación de números pseudoaleatorios
Números aleatorios
Números aleatorios