









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento proporciona una introducción a los comandos básicos y la manipulación de datos en el entorno de programación r. Cubre temas como la lectura de datos desde archivos de texto y excel, la creación de vectores y secuencias, la realización de operaciones aritméticas y lógicas, y la aplicación de funciones estadísticas básicas. También se explica cómo guardar y cargar objetos creados en r, así como la generación de gráficos sencillos. Este documento puede ser útil para estudiantes y profesionales que deseen familiarizarse con las capacidades de r en el análisis de datos.
Tipo: Monografías, Ensayos
1 / 16
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Presionando el respectivo ícono del programa R: o directamente por el inicio y en el submenú de programas se puede ejecutar el programa. Aparece la siguiente información:
R : Copyright 2003, The R Development Core Team Version 1.6.2 (2003-01-10)
R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type license()' or
licence()' for distribution details.
R is a collaborative project with many contributors. Type `contributors()' for more information.
Type demo()' for some demos,
help()' for on-line help, or help.start()' for a HTML browser interface to help. Type
q()' to quit R.
prompt q() para terminar una sesión en R
ls() Muestra todos los objetos creados previamente en R y que fueron guardados en una sesión pasada. rm() Borra los objetos indicados en paréntesis y separados por comas. <- Signo de asignación. Lo que está al lado derecho se asigna al lado izquierdo.
En el paquete R las mayúsculas son diferentes a las minúsculas. Es decir Mat , mat , MAT , son objetos diferentes en R. En R tenemos dos maneras de ejecutar comandos: Directamente en la ventana de comandos o leyendo un archivo de comandos previamente copiados en un archivo de texto.
Suponga que las siguientes instrucciones se escribieron previamente en un archivo de texto. Suponga que la ruta del archivo es: c:/comandos.txt. En este archivo están las instrucciones:
Para leer estas instrucciones en R usamos la instrucción source:
source(“c:/comandos.txt “) En Paréntesis se especifica la ruta del archivo ls() Para ver los objetos creados
Otra forma es por el menú que aparece en la parte superior de la ventana del R.
Aparece una ventana donde se pide el archivo donde están los comandos. Al presionar aceptar aparece:
source("C:/comandos.txt")
Funciones de lectura de Datos
En R se tienen diversos comandos para lectura de datos en formatos conocidos u otros. Algunos son:
scan ( ) Lectura de datos sin ninguna estructura particular read.table ( ) Lectura de bases de datos o tablas read.fwf ( ) Lectura de datos con formato fijo
La entrada o lectura de los datos puede hacerse directamente en el teclado o leyendo de un archivo externo.
1. Desde un archivo externo
Suponga que se tiene información acerca del Sexo, edad, Estrato e Ingreso de un grupo de hombres y mujeres. La información se encuentra en el archivo: “ a:/METODOS/datos1.txt “. Para leer los datos desde R se escriben los siguientes comandos:
dat <- scan(“a:/METODOS/datos1.txt”, what=list(“ ”,1,1,1), skip=1) dat
En el objeto dat queda guardada la información del archivo datos1.txt , pero los nombres de la columnas se pierden. La opción what , indica las variables alfanuméricas y numéricas. Las primeras son identificadas en la opción list con el símbolo “”. Las numéricas con el número 1. La opción skip=1 , se puede sustituir por skip=T , indica que la primera fila no será considerada.
Para leer los datos NUMERICOS a una matríz (en este caso de tres columnas), escribimos:
mat<-matrix(scan("a:/metodos/datos2.txt", skip=T),ncol=3, byrow=T) Read 33 items mat El resultado aparece al lado derecho.
Lectura de datos en Excel
Para leer archivos en formato Excel, primero se deben guardar los datos en formato “csv”. Luego se utiliza el comando “ read.csv”
Suponga que los datos anteriores se tienen en un archivo Excel: “datos1.xls”. Estos se guardan en formato csv: “datos1.csv”
dat1 <- read.csv(file.choose(), header=T, sep=";") dat sexo edad estrato ingreso 1 hom 23 3 200000 2 hom 25 4 150000 3 muj 24 3 120000 4 hom 28 5 230000 5 muj 22 4 140000 6 muj 25 3 100000 7 hom 26 4 135000 8 muj 23 3 125000 9 hom 30 4 220000 10 muj 30 4 180000 11 hom 24 3 170000 12 hom 24 4 185000 13 hom 27 3 135000 14 muj 24 4 200000
Generación de datos y vectores.
x1 <- c(3.6, 2.5, 1.8, 3.2, 4.1, 4.0, 3.7, 2.3, 2.8, 3.5, 4.5)
x2 <- c(1:10)
x3 <- c(“Pez”, “Perro”, “Gato”, “Mico”)
Secuencias de Números
s1 <- 2:
s2 <- 25:
s3 <- seq(1,20)
s4 <- seq(1,5,by =0.2)
s5 <- seq(1,5,length=10)
x4 <- c(1,2,3,4) s6 <- rep(x4, times=4)
Para guardar objetos creados en R se usa el comando dump :
dump(c("x1","x2","x3","x4", "s1", "s2", "s3", "s4", "s5", "s6"), file="a:/metodos/objetos1.txt
Para llamar estos objetos usamos el comando source ( “ruta del archivo”) Manipulación de Datos
Algunos operadores usados en R son:
Operador Función Operador Función
evalúa el segundo
evalúa el segundo
Lenguaje Vectorizado
x <- seq(1,10,by=O.8) y <- c(1,3,5,7,9,11.13.15) z <- x+y
Funciones de matrices
x5 <- seq(3,10, by=0.5)
x6 <- matriz(x5, ncol=3, byrow=T)
ncol indica el número de columnas, byrow indica como se llenará la matriz. byrow=T , indica que se debe llenar
por filas. byrow=F , indica que se llena por columnas
Las operaciones entre matrices utilizan los símbolos usuales hasta ahora mencionados. Las operaciones de suma, resta, multiplicación, división, exponenciación, se realizan elemento a elemento.
Otras operaciones especiales entre matrices usan otros argumentos.
a <- matrix(1:16, ncol=4, byrow=T) b <- matrix(5:21, ncol=4, byrow=T)
c <-a+b c1 <-ab c2 <- 2a-3*b+
a%*%b Producto usual entre matrices
t(a) Traza de a
crossprod(a,b) Realiza el producto de la transpuesta de a con b: t(a)%%b* Cuando se usa solo un argumento, realiza t(a)%%a*
c3 <- c(1,2,3,4,5) diag(c3)
c4 <- matrix(x1, ncol=3, nrow=3, byrow=T) det(c4) Determinante de c
c5 <- svd(c4) Produce la descomposición en valores singulares de la matriz c
Pegando matrices.
a
b
cbind(a,b) Esta función pega ambas matrices por columnas: primero a y luego b
rbind(a,b) Esta función pega ambas matrices por filas: primero a y luego b
mat
apply(x, Margin, fun,...) El comando apply permite aplicar una función específica a las filas o columnas o ambas de un objeto x (matriz o arreglo) y devuelve un vector o arreglo con los correspondientes resultados. Margin indica si se aplica a filas o columnas o ambos (1 para filas, 2 para columnas y “c(1,2)” para ambas, fun indica la función que se desea aplicar a x.
apply(mat[,c(1,3)], 2, sum)
round(apply(mat, 2, mean), digits=3)
round(apply(mat[,c(1,3)], 2, mean), digits=3)
Gráficos en R
Considere una base de datos que contiene información de 400 persomnas acerca de 10 variables: GENERO ESTATURA MASA EDAD GASTOM TIEMPO ESTRATO INGRESO TIP_VEH GASERV. Una parte de la base se muestra a continuación:
GENERO ESTATURA MASA EDAD GASTOM TIEMPO ESTRATO INGRESO TIP_VEH GASERV MUJER 168.6 50.7 23.4 394.5 4.4 4 1463.7 BICI 157. HOMBRE 169.5 75.6 30.7 494.4 11.4 2 607.5 PUBLI 148. HOMBRE 171.2 73.8 29.0 484.5 29.4 4 1462.8 PUBLI 137. HOMBRE 155.8 71.8 29.5 512.1 81.3 3 915.9 PUBLI 163. HOMBRE 165.6 78.3 30.6 495.0 2.7 1 561.6 CARRO 182. MUJER 153.1 50.6 27.8 405.0 8.9 4 1526.1 CARRO 137. HOMBRE 185.5 67.2 30.5 502.8 10.9 3 883.2 CARRO 129. HOMBRE 160.8 74.5 31.5 495.9 21.1 3 929.4 BICI 153. MUJER 159.5 58.5 27.3 396.9 100.5 3 855.9 PUBLI 174. MUJER 158.7 57.3 22.5 418.2 1.1 3 905.1 MOTO 155.
Elaboremos algunos gráficos de interés con ayuda de esta base de datos. Primero se lee la base de datos.
La información es guardada en el objeto “base”. Para ver parte del archive, por ejemplo las primeras 10 filas,
Lo primero es identificar el tipo de variables, puesto que los gráficos asociados a variables discretas es diferente al de las variables continuas. En esta base se identifican: Variables Discretas: No hay Variables categóricas: Género, Estrato, Tipo de vehículo Variables Continuas: Todas las demás.
El análisis para variables categóricas se hace principalmente con el uso de tablas de frecuencias y diagramas de barras.
Estrato y Tip_veh:
Si se usa esta instrucción para una variable continua, se obtiene un resultado poco útil, sobre todo si se tienen mucha información.
En el caso continuo, se suelen calcular medidas descriptivas básicas, como medias, medianas, varianzas muestrales, percentiles, etc.
Gráficos
Gráficos de Barras.
barplot(ESTRATO) barplot(table(ESTRATO)) barplot(table(ESTRATO), col=c('blue', 'cyan', 'red', 'green', 'white', 'yellow')) barplot(table(ESTRATO)/400, col=c('blue', 'cyan', 'red', 'green', 'white', 'yellow'))
Histogramas
Instrucciones para generar números aleatorios de algunas Distribuciones
Distribución (^) Cuanti1es Números Aleatorios.
Uniforme qunif(p,min=0,max=l,lower.tail=TRUE,log.p=FALSE) runif(n,min=0,max=l)
Normal qnorm(p,mean=0,sd=1,lower.tail=TRUE,log.p=FALSE)^ rnorm(n,mean=0,sd=l)
Binomial qbinom(p,size,prob,lower.tail=TRUE,log.p=FALSE)^ rbinom(n,size,prob)
Lognormal qlnorm(p,meanlog=0,sdlog=1,lower.tail=TRUE,log.p=F)^ rlnorm(n,meanlog=0,sdlog=1)
Beta qbeta(p,shape1,shape2,lower.tail=TRUE,log.p=FALSE) rbeta(n,shape1,shape2)
Geométrica qgeom(p,prob,lower.tail=TRUE,log.p=FALSE) rgeom(n,prob)
Gamma qgamma(p,shape,scale=1,lower.tail=TRUE,log.p=FALSE)^ rgamma(n,shape,scale=1)
JI cuadrado qchisq(p,df,ncp=0,lower.tail=TRUE,log.p=FALSE)^ rchisq(n,df,ncp=0)
Exponencial qexp(p,rate=1,lower.tail=TRUE,log.p=FALSE)^ rexp(n,rate=1)
F qf(p,df1,df2,lower.tail=TRUE,log.p=FALSE) rf(n,df1,df2)
Hipergeom qhyper(p,m,n,k,lower.tail=TRUE,log.p=FALSE) rhyper(nn,m,n,k)
T qt(p,df,lower.tail=TRUE,log.p=FALSE) rt(n,df)
Poisson qpois(p,lambda,lower.tail=TRUE,log.p=^ FALSE)^ pois(n,lambda)
Weibull weibull(p,shape,sca1e=1,lower.tail=TRUE,log.p=FALSE)^ rweibull(n,shape,scale=1)
Binom.Neg. qnbinom(p,size,prob,mu,lower.tail=TRUE,loq.p=FALSE) rnbinom(n,size,prob,mu)
Donde: p: Es un vector de probabilidades (acumuladas). m: Número de observaciones, excepto para la Hipergeométrica, donde nn es el número de observaciones. Si la longitud de n es mayor que 1, la longitud es tomada como el número requerido.