0% encontró este documento útil (0 votos)
20 vistas20 páginas

Introduccion R 2022

El documento presenta una introducción al lenguaje de programación R, destacando su origen y desarrollo. Se abordan conceptos fundamentales como operaciones matemáticas, creación de vectores, matrices y data frames, así como la definición de funciones y su uso en gráficos. Además, se explica cómo realizar operaciones y manipulaciones de datos dentro de R, facilitando el análisis estadístico.

Cargado por

Virginia saenz
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, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas20 páginas

Introduccion R 2022

El documento presenta una introducción al lenguaje de programación R, destacando su origen y desarrollo. Se abordan conceptos fundamentales como operaciones matemáticas, creación de vectores, matrices y data frames, así como la definición de funciones y su uso en gráficos. Además, se explica cómo realizar operaciones y manipulaciones de datos dentro de R, facilitando el análisis estadístico.

Cargado por

Virginia saenz
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, TXT o lee en línea desde Scribd

Introducción a R: Un lenguaje orientado a objetos

Luis Mariano Esteban, María Escorihuela


Escuela Universitaria Politécnica de La Almunia
Introducción a R
Introducción

R programming language

R es una implementación del lenguaje S desarrollado por Bell


Laboratories por Rick Becker, John Chambers y Allan Wilks
R fue creado por Robert Gentleman y Ross Ihaka
(Departamento de estadı́stica de la Universidad de Auckland)
Actualmente es desarrollado por el R Development Core
Team, del cual forma parte el propio Chambers
R es parte del GNU project y se construye como contribución
de Estadı́sticos y Universidades de todo el mundo
http://www.r-project.org
La documentación en castellano sobre R es gratuita y puede
bajarse de http://cran.r-project.org/other-docs.html
Introducción a R
Introducción

Primeros pasos
Las operaciones matemáticas más básicas se consiguen con los
sı́mbolos +,−,∗,/ y ^
Por ejemplo, para calcular (7 · 3) + 232

> 7*3+3/2^2
[1] 21.75

Las funciones más comunes también estan implementadas en R:


log(), log10(), exp(), sin(), cos(), tan(), sqrt()

La forma mas común de asignar un valor a un objeto se construye


con el sı́mbolo <-

> x<-12.34
> x
[1] 12.34
Introducción a R
Vectores

Vectores
Para crear un vector, se utiliza la orden c()

> x<-c(0,2,5,1)
> x
[1] 0 2 5 1

Existen funciones para realizar operaciones sencillas sobre un


vector
> max(x) > which(x==2)
[1] 5 [1] 2
> min(x) > which(x<2)
[1] 0 [1] 1 4
> which.max(x) > sort(x)
[1] 3 [1] 0 1 2 5
> which.min(x) > x^2
[1] 1 [1] 0 4 25 1
Introducción a R
Vectores

Vectores especiales

Se pueden construir vectores con elementos tipo carácter, hay que


introducir los elementos entre comillas
> x<-c("a","b","a","c") [1] "a" "b" "a" "c"
También se pueden crear secuencias de números

> seq(1,10,by=2)
[1] 1 3 5 7 9

y se puede crear un vector como repetición de elementos de otro


vector

> x<-rep(c(0,1,2),c(12,4,7))
> x
[1] 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2
Introducción a R
Vectores

Vectores de tipo categórico

Los vectores de tipo carácter no corresponden con datos de tipo


categórico, para tener datos categóricos hay que usar la función
factor

> x<-rep(c(0,1,2),c(12,4,7))
> factor(x)
[1] 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2
Levels: 0 1 2
> factor(x,levels=c(0,1,2),labels=c("Alto","Medio","Bajo"))
[1] Alto Alto Alto Alto Alto Alto Alto Alto Alto
[15] Medio Medio Bajo Bajo Bajo Bajo Bajo Bajo Bajo
Levels: Alto Medio Bajo
Introducción a R
Vectores

Más sobre vectores


Los vectores también tienen argumentos

> mode(x)
[1] "numeric"
> length(x)
[1] 23

El modo de un vector puede ser cambiado

> z<-as.character(x)
> z
[1] "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "1" "1
[20] "2" "2" "2" "2"
> as.numeric(z)
[1] 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2
Introducción a R
Vectores

la función summary

En R, el resultado de actuar una misma función sobre distintos


tipos de objectos produce resultados distintos

> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0000 0.0000 0.0000 0.7826 2.0000 2.0000
> summary(factor(x))
0 1 2
12 4 7
Introducción a R
Vectores

Elementos de un vector
Para acceder a los elementos de un vector se pueden usar los
corchetes

> x<-seq(0.01,1,by=0.01)
> length(x)
[1] 100
> x[12]
[1] 0.12
> x[12]<-0.23
> x[x==0.23]
[1] 0.23 0.23
> x[10:20]
[1] 0.10 0.11 0.23 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.20
> x[10:20]==0.23
[1] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
Introducción a R
Matrices, hojas de datos y listas

Matrices

La orden que construye una matriz en R es matrix, una matriz


se caracterı́za porque todos los elementos son del mismo tipo.
Hay que especificar el número de filas y columnas, por defecto
la matriz se construye por columnas.
> mx<-matrix(x,nrow=10)
> mx
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0.01 0.11 0.21 0.31 0.41 0.51 0.61 0.71 0.81 0.91
[2,] 0.02 0.12 0.22 0.32 0.42 0.52 0.62 0.72 0.82 0.92
[3,] 0.03 0.13 0.23 0.33 0.43 0.53 0.63 0.73 0.83 0.93
[4,] 0.04 0.14 0.24 0.34 0.44 0.54 0.64 0.74 0.84 0.94
[5,] 0.05 0.15 0.25 0.35 0.45 0.55 0.65 0.75 0.85 0.95
[6,] 0.06 0.16 0.26 0.36 0.46 0.56 0.66 0.76 0.86 0.96
[7,] 0.07 0.17 0.27 0.37 0.47 0.57 0.67 0.77 0.87 0.97
[8,] 0.08 0.18 0.28 0.38 0.48 0.58 0.68 0.78 0.88 0.98
[9,] 0.09 0.19 0.29 0.39 0.49 0.59 0.69 0.79 0.89 0.99
[10,] 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00
Introducción a R
Matrices, hojas de datos y listas

Sistemas de ecuaciones: rbind, cbind

Construir una matriz que represente a un sistema de ecuaciones


resulta más cómodo mediante el “pegado” de filas:

A<-matrix(rbind(c(1,0,-1),c(2,-2,3),c(2,-4,1)),ncol=3)
b<-c(3,1,2)
solve(A,b)
[1] 2.1428571 0.3571429 -0.8571429
Introducción a R
Matrices, hojas de datos y listas

Hojas de datos
Después de los vectores, el objeto mas común en R es la hoja
de datos (data.frame)
Un data.frame es un conjunto de elementos ordenados por
filas y columnas, donde el número de filas es común y el tipo
de elementos que forman cada una de las columnas es igual
dentro de cada columna, pero puede ser distinto entre
columnas.
Para ver algun ejemplo, vamos a cargar la libreria MASS y ver
los conjuntos de datos incluidos
library(MASS)
data()
Veamos por ejemplo Cars93 o cars
Las columnas de la hoja de datos tienen asignadas etiquetas:
names(cars)
Cada data.frame contiene unos objetos que son cada una de
sus columnas y pueden ser invocados: cars$speed
Introducción a R
Matrices, hojas de datos y listas

Indexado en un data.frame

En una hoja de datos el indexado corresponde a filas y


columnas.
Para seleccionar una serie de filas del data.frame usarı́amos
Cars93[1:10,]
Para seleccionar ahora unas variables Cars93[,c(3,5,8)]
Para eliminar una fila Cars93[-5,]
Para eliminar una columna Cars93[,-5]
Introducción a R
Matrices, hojas de datos y listas

Ordenación de un data.frame

Para ordenar el data.frame por los valores de una variable se


puede usar la función order:
CP93<-Cars93[order(Cars93$Passengers),]
Si se quiere una ordenación por varias variables solo hay que
introducir el nombre de todas las variables en el orden que
queremos que aparezcan los valores
CP93<-Cars93[order(Cars93$Passengers,Cars93$Max.Price),
Introducción a R
Matrices, hojas de datos y listas

Selección en un data.frame

Con la orden subset se pueden hacer selecciones dentro de


una hoja de datos con una condición para una variable
subset(Cars93,Passengers<3)
El sı́mbolo & se usa para imponer varias condiciones del tipo
“y”, mientras que el sı́mbolo | se usa para condiciones del tipo
“o”.
subset(Cars93,Passengers<=4&Origin=="USA")
subset(Cars93,Passengers<=4|Origin=="USA")
A veces es necesario eliminar los datos perdidos
subset(Cars93,(!is.na(Passengers)&Passengers<=4)&Origin!="USA")
Introducción a R
Funciones

Funciones en R

Una de las principales ventajas de R es que el usuario puede definir


sus propias funciones

> f<-function(x){x/100}
> f(1)
[1] 0.01
> y<-seq(0,100,by=5)
> h<-function(x){sum(y[1:x])}
> h(4)
[1] 30
Introducción a R
Funciones

Evaluaciones múltiples de funciones

Cuando se quieren hacer muchas evaluaciones sobre una misma


función se puede utilizar la orden sapply(x,FUN) que calcula las
imágenes de la función FUN sobre los elementos del vector x,
devolviendo un vector o una matriz

> sapply(seq(1,10),h)
[1] 0 5 15 30 50 75 105 140 180 225

Existen órdenes similares con distintos resultados como lappy,


vapply, mapply y replicate
Introducción a R
Gráficos

Gráficos de funciones

La función plot permite dibujar funciones y puntos en el plano

Para dibujar la función f con un

1.5
trazado continuo entre x = −1
y x = 1 basta con usar el código

1.0
f (x)
> plot(f,type="l",-1,1)

0.5
Para consultar parámetros op-
0.0
cionales en un gráfico ver ?plot −1.0 −0.5 0.0 0.5 1.0

x
Introducción a R
Gráficos

Gráficos múltiples
Se puede realizar una división de la ventana gráfica y dibujar la
misma gráfica con distintos parámetros
par(mfrow=c(2,2))
f<-function(x){x^2}
plot(f,type="l",-1,1,lty=2,col=’red’)
plot(f,type="l",-1,1,lty=3)
plot(f,type="p",-1,1)
plot(f,type="p",-1,1,pch=10,col="green")
o adicionar funciones, lineas o texto sobre un gráfico ya existente
plot(f,type="l",-1,1,lty=2,col=’red’)
g<-function(x){x^4}
plot(g,-1,1,add=T)
lines(c(-1,1),c(1.5,1.5),lty=4,col=’green’)
text(0,1,’Grafico conjunto’,col=’blue’)
Introducción a R
Gráficos

Gráficos de puntos
Si lo que se quiere es dibujar pares de puntos bastarı́a con usar la
orden plot(x,y,type=”p”)
plot(cars$speed,cars$dist,type="p", xlab=’Velocidad’,
ylab=’Distancia’,main=’Estudio de distancias de frenado’)

Estudio de distancias de frenado


120


100


● ●
80



Distancia





60


● ●
● ●



● ●

40

● ●
● ●
● ●
● ● ●
● ●
● ● ● ●


20

● ●
● ●


● ●


0

5 10 15 20 25

Velocidad

También podría gustarte