0 calificaciones0% encontró este documento útil (0 votos) 5 vistas10 páginasIntroducción A R.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Introduccién a R
Aplicacién de Programas Informaticos
2022-09-11
MODULO II: BIOESTADISTICA
Clase 1:
Introducci6n aR
+ [Link] lenguaje de programacién.
+ Instalacién de R ([Link] y sus caracteristicas
Instalacién deRStudio (https:/[Link]/products/rstudio/download/) IDE (Integrated
Development Environment) (desde octubre 2022 “posit’) y sus caracteristicas
Ventajas y desventajas del uso de RStudio
+ Softwares para andlisis de datos: libres, abiertos y con licenci
Primeros pasos
Personalizacion
Directorios de trabajo
Proyectos
Céddigo
Asignacion
Los operadores de asignacién en R permiten asignar datos a un objeto para almacenar los datos.
<- asignacién izquierda
= Asignacién izquierda ( menos recomendado en R) y asignacién de argumentos
Ejecutar codigo
Para ejecutar una linea o bloque de cédigo se puede realizar desde el teclado presionando cTaL + ENTER o
con el icono Run en parte superior derecha de la ventana de Script.
Objetos
En términos genéricos todos los elementos que maneja R son objetos: un valor numérico, un vector, una
funcién, una base de datos, un gréfico, etc. Para realizar un uso eficiente de R es preciso entender y aprender
a manipular bien las distintas clases de objetos que maneja el programa
R utiliza, de hecho, programacién orientada a objetos. Ello significa que una misma funcién hace cosas
distintas segiin la clase del objeto que recibe como argumento, pudiendo incluso no hacer nada (0 producir un
error) si se le pasan argumentos de una clase inadecuada.Clases de objetos
Los diferentes objetos dependen principalmente de cémo estén compuestos, es decir qué tipo de variable se
esta utilizando.
Si es un nuimero, el tipo es “numérico”
xe8
3
s=8.7
Una palabra, es un caracter.
vector"
Sies una conjuntos de datos, ya sean numéricos y/o caracteres, ese conjunto es un vector. Que se llama
“atémico” si es numérico tinicamente. Por ejemplo:
altura = ¢(1-8,1.9,1.7,1.68,1.72,1.57)
'fresno", "mora" ,"alano")
especie = ¢("mora”,"alano","fresno”,
Para generar una tabla con los objetos creados utilizamos la funcién cbind
datos = cbind (especie,altura); datos
a especie altura
"mora" "2.8"
## (2
HH [2
#8 (3
a (4,
## [5
8 [6
‘A medida que se ingresan los abjetos, R los va asignando a Values en su memoria. De ésta manera, se va
llevando un registro de los objetos creados. Cuando queremos observar lo que contienen dichos objetos
debemos llamarlos. Lo podemos realizar de diferentes maneras: corriendo sélo el nombre del objeto; si es una
tabla con la sentencia View() © print() definiendo como argumento el objeto a observar; 0 si queremos
verlo al generarlo, para evitar una linea en el script, se coloca el nombre del objeto a continuacién de una
sentencia separandolé por
Para que no tome los valores de cada columna como datos aisiados, debemos determinar que la tabla es un
data frame, es decir, que es una base de datos (relaciona datos categérico y/o numéricas). Primero, debemos
conocer si el objeto es una data frame (o un niimero, un caracter, etc) preguntando con la funcién
[Link]. frame() , respondiendo la funcién por TRUE 0 FALSE. Para cambiar el estado de un objeto a otro,
se utiliza la funcién [Link]() . En nuestro ejemplo, todos los valores aparecen como caracteres.
[Link]. frame (datos)
## [2] FALSEdatosedata. frane(datos)
[Link](datos$especie)
we [2] TRUE
[Link](datos$altura)
we [2] TRUE
is numeric(datos$altura)
#8 [2] FALSE
datos$altura
s numeric(datos$altura)
[Link](datos$altura)
a [1] TRUE
Subconjunto de un data frame o lista con nombres
Se utiliza el operador § para seleccionar una variable de una tabla de datos
datos$altura
i [1] 1.82 1.90 1.78 1.68 1.72 1.57
Hay varias funciones que pueden imprimir el tipo de dato de un objeto de R. Estas incluyen: typeof , mode ,
storage. mode, class y ‘str
Estructura del objeto
str(s)
#8 nun 5
str(altura)
#8 num [1:6] 1.8 1.9 1.7 1.68 1.72 1.57
###Errores comunes
R distingue entre mayuisculas y minusculas, por lo tanto el objeto datos es diferente al objeto Datos.
Hay algunas reglas a la hora de nombrar variables. Puedes usar letras, numeros, puntos y guiones bajos en
el nombre de la variable, pero los guiones bajos no pueden ser el primer caracter de! nombre de la variable.‘También hay palabras reservadas que no se pueden usar, como TRUE, FALSE, NULL, entre otras, Puedes
ver la lista completa de palabras reservadas escribiendo help(Reserved) 0 ?Reserved en la consola de
comandos.
##lInstalacién de paquetes
Un paquete de R es una biblioteca de funciones que se han desarrollado para cubrir algunas necesidades 0
métodos cientificos especificos que no estan implementados en las funciones de R base. Las funciones que R
proporciona de manera predeterminada son limitadas, por lo que es posible que te preguntes cémo instalar
nuevos paquetes en R.
Hay diferentes formas de instalacién
* Directamente en la consola
install. packages("nonbre", dependencies=TRUE)
+ Mediante de la ventana se RStudio que tiene las pestafas Files, Plots, Packages, Help, Viewer y en la
ventana emergente buscar el paquete por su nombre.
Para utilizar una libreria debemos llamarla mediante library
Library(reséxd)
Obtener los datos
&Como creamos nuestra Base de Datos en R?
Si son pocos datos: Introducir los datos directamente en la consola de R.
Si son muchos datos: Podemos utilizar casi cualquier soporte:
+ Excel
+ SPSS
+ PSPP
+ Libreoffice Cale
+ Access:
+ MySQL
Dataset de base
Importar archivos
Archivos de texto .txt
El lenguaje de programacién R permite cargar archivos TXT. La funcién més basica para ello es la funcién
read. table . Importar archivos TXT en R rara vez necesita mas argumentos de los especificados a
continuacién. Aun asi, si resultan de interés conocer todos los argumentos, se encuentran en la
documentacién de la funcién [Link] o llamando a la ayuda de la funcién con ?[Link] . Esta sintaxis
basica afecta a casi todos los archivos de datos TXT.[Link](file, #Archivo de datos TXT indicado como string o ruta completa al ar
chivo
header = FALSE, Si se muestra el encabezado (TRUE) 0 no (FALSE)
sep #Separador de las columnas del archivo
dec #Caracter utilizado para separar decimales de los nimeros en el
archivo
Siel archivo objetivo se llama mi_archivo.txt y que esté guardado en el directorio de trabajo, puede lleerse
con el siguiente cédigo:
data <- [Link](file
head(data)
'mi_archivo.txt", header = TRUE)
Pero si el archivo se encuentra en otro directorio se debe indicar la ruta de acceso al mismo.
data <- [Link](file = "C:\\Mi_ruta\\ni_archivo.txt", header = TRUE)
data <- [Link](file = "C:/Mi_ruta/mi_archivo.txt", header = TRUE) #Equivalente
Archivos .csv
Es habitual encontrar conjuntos de datos en formato CSV (valores separados por comas). Este tipo de
almacenamiento de datos es una solucién ligera para la mayoria de los casos. La lectura de este tipo de datos
se importan con las funciones [Link] y read.csv2 . La sintaxis basica de las funciones con los,
argumentos mas comunes se encuentra a continuacién. Para obtener detalles adicionales, recuerda escribir
[Link] 0 ?read.csv2
Por defecto coma (,) como separador y punto (.) como separador decimal
[Link](file, Nonbre del archivo o ruta completa del archivo
header = TRUE, Leer el encabezado (TRUE) 0 no (FALSE)
sep="5"5 #Separador de los valores
dec = "." Punto decimal
[Link] = "", #Cardcter de los comentarios o cadenas vacfas
encoding = “unknown”, #Codificacién del archivo
2) ‘#Argunentos adicionales
Por defecto punto y coma (;) como separador y coma (,) como separador decimal
read.csv2(file,
header = TRUE,
sep
tra manera es importar desde el archivo en el directorio, de esta manera el RStudio plantea el script para
llamar a estos archivos.
Archivos Excel
Para trabajar con datos de Excel en R deberds usar un paquete readxl. Hay varias opciones, pero los mejores
paquetes para leer archivos de Excel podrian ser openxisx y readxl.Si estés usando RStudio puedes ir a File —+ Import Dataset + From Excel... Luego, selecciona tu archivo de
Excel dandole a Browse... y personaliza la salida (el nombre de la variable, la hoja, el rango de celdas, ...).
También puedes ver una vista previa del cédigo que se ejecutara de fondo.
El paquete readx! forma parte del paquete tidyverse, creado por Hadley Wickham (cientifico jefe en RStudio) y
su equipo.
[Link]("readxl")
Library(readx1)
Obtener la ruta de un archivo XLSX de ejemplo del paquete ruta_archivo < readxl_example(“[Link]’)
# Comprobar los nombres de 1as hojas del archivo
excel_sheets(ruta_archivo) # "list-column” "two-row-header”
La funcién genérica del paquete para leer archivos de Excel en R es la funcién read_excel, que ‘adivina’ el
tipo de archivo (XLS 0 XLSX) segiin la extensién del archivo y el archivo en si, en ese orden.
read_excel (ruta_archivo)
El argumento sheet permite especificar la hoja que quieres cargar, pasando su nombre o el numero
correspondiente de la pestafia. Ten en cuenta que, por defecto, la funcién carga la primera hoja de Excel,
Seleccionamos 1a otra hoja del Excel
read_excel(ruta_archivo, sheet = “two-row-header”)
read_excel(ruta_archivo, sheet = 2) # Equivalente
Database del R
Ry sus paquetes tienen bases de datos para practicar las diferentes sentencias. Vamos a tomar la base “iris”
para comenzar a trabajar la parte estadistica,
Manejo de Datos
Un paso crucial cuando se trabaja con datos es convertir los datos originales (por lo general sin formato
‘adecuado para el andlisis) en un formato apropiado para trabajar. Aprenderas a clasificar, ordenar, crear
subconjuntos y dividir los datos,
Ordenar
Ordenar datos en el lenguaje de programacién R se puede lograr de varias maneras, dependiendo de cémo
quieras ordenarlos.
Lafuncién order en R
La funcién order devuelve una permutacién del orden de los elementos de un vector. La sintaxis con
descripciones resumidas de los argumentos es la siguiente:order(x, # Secuencia de vectores de 1a misma longitud
decreasing = FALSE, # Ordenar en orden creciente (FALSE) o decreciente
(TRUE)
[Link] = TRUE, # Poner valores NA al final (TRUE) 0 al principio (F
ALSE)
method = c("auto",
» “radix")) # Método usado.
List(x, # Vector
decreasing = FALSE,
partial = NULL, # Vector de indices para ordenado parc
jal
[Link] = TRUE,
method = c("auto", "shell", "quick", “radix"))
Subsets de datos
Crear subconjuntos de datos en R se puede lograr de diferentes maneras, dependiendo de los datos con los
que estés trabajando. En general, puedes crear un subconjunto:
1. Usando corchetes [].
2. Usando el signo § si los elementos del objeto tienen nombres.
3. Con funciones, como el comando subset , para obtener subconjuntos basados en condiciones légicas.
datos[,1] # selecciona La primera colunna del conjunto datos
w# [1] “mora” “alamo” "fresni
datos[3,] # selecciona el tercer registro del conjunto datos
especie altura
#3 fresno 1.7
Generar funciones
El lenguaje de programacién R permite al usuario crear sus propias funciones. Es necesario conocer ciertos
conceptos cémo escribir funciones en R, cémo es la sintaxis, los argumentos, la salida, cémo utilizar la
funcién return y cémo hacer un uso correcto de los parametros opcionales, adicionales y los argumentos
predeterminados.
éComo crear funciones en R?
Las funciones base de R no siempre cubren todas nuestras necesidades. Para escribir una funcién en R,
primero necesitamos saber cémo es la sintaxis del comando function, La sintaxis basica de una funcién de R
#8 la siguiente.nonbre_funcion <- function(argi, arg2, .-. ) {
# Cédigo
De la funcién se deduce que: - arg1, arg2, ... son los argumentos de entrada. - #Cédigo representa el cédigo
a ser ejecutado dentro de la funcién para obtener la salida desada.
La salida de la funcién puede ser un nimero, una lista, un data frame, un grafico, un mensaje 0 cualquier
objeto que queramos. También podemos asignarle a la salida alguna clase, pero hablaremos sobre ello en un
articulo especifico sobre las clases S3. Esto titimo es especialmente interesante a la hora de escribir
funciones para paquetes de R.
##Creando una funcién en R ###Variables locales y globales en R En R no es necesario declarar las variables
utiizadas dentro de una funcién. La regla llamada “Ambito lexicografico” se usa para decidir si un objeto es
local a una funcién o global. Considera el siguiente ejemplo:
fun <- function() {
print(x)
xed
fun() #1
ae (2) a
La variable x no se define dentro de fun, por lo que R buscara x dentro del ambito “circundante” e imprimir su
valor. Si x se usa como el nombre de un objeto dentro de la funcién, el valor de x en el entormno global (fuera
de la funcién) no cambia.
xed
fun2 <- function() {
x2
print (x)
funa() #2
aH [2] 2
x #1
aH (2) 2
Para cambiar el valor global de una variable dentro de una funcién, puedes usar el operador de doble
asignacién (<<-)xed
yes
fun3 <- function() {
xe 2
yee 5
print(paste(x, y))
fun3() #25
at [2] "2 5)
x #1 (el valor no cambié)
we (2) 2
y #5 (el valor cambis)
#8 (2) 5
Ejemplo:
Lanzando un dado
La siguiente funcién simula n (por defecto n = 100) lanzamientos de un dado. La fun
frecuencias y el grafico correspondiente.
n devuelve la tabla de
dado <- function(n = 100){
lanzamientos <- sanple(1:6, n, rep = T)
frecuencias <- table(lanzamientos)/n
barplot(frecuencias, main = “")
abline(h = 1/6, col = "red", Ind = 2)
return(frecuencias)
?
‘Se puede ver los resultados de simulacién ejecutando la funcién.
par(mfcol = ¢(1, 3))
dado(100)
i lanzamientos
Wo. 2 3 4 5 6
HH @.18 0.17 0.14 0.18 0.20 0.13
dado(se0)
4 lanzamientos
mw oo4 2 3 4 $ 6
8 0.192 0.166 0.154 0.128 0.170 0.198dado(100000)
8
8 3 =
g 5 z
123656 123456 12345
## lanzamientos
He 1 2 3 4 5 6
Wi 0.16732 0.16816 0.16605 0.16610 0.16584 0.16653,
‘Como se observa, a medida que aumentamos n estamos mas cerca del valor teérico 1/6 = 0.1667.
También podría gustarte
Qué Es R
Aún no hay calificaciones
22 páginas