PDF de programación - Introducción al uso de R

Imágen de pdf Introducción al uso de R

Introducción al uso de Rgráfica de visualizaciones

Publicado el 20 de Agosto del 2018
355 visualizaciones desde el 20 de Agosto del 2018
161,5 KB
55 paginas
Creado hace 19a (27/07/2004)
Introducción al uso de R.

Aprender a hablar

Fernando Cánovas García

[email protected]

Universidad de Murcia

¿Qué es?

• Implementación de S

Un conjunto de instrumentos

Un conjunto de utilidades gráficas

Desarrollar la imaginación

Un lenguaje

¡No lo necesito!

•La capacidad de combinar análisis predeterminados
con análisis específicos
•Los gráficos son de alta calidad
•La comunidad de R es muy dinámica
•Desarrolla extensiones específicas de áreas nuevas
•Se trata de un lenguaje orientado a objetos
•No son necesarios conocimientos previos en lenguajes
de programación
•Libre distribución
•....

¡Lo necesito!

• Depende del sistema operativo, pero todo se

puede encontrar en:

http://cran.r-project.org/

– Windows
– GNU/Linux
– Mac

¿Sólo un programa?

• Filosofía de trabajo
• Propuesta de trabajo:

– Estructura de un fichero de trabajo
– Editor de textos
– Consola de R
– Navegador de ayuda
– Ventanas con el producto
– Procesador de textos

Análisis

Datos
Funciones
Gráficos
Resultados

¡Tendrás que pagar!

• Saber lo que quieres
• Saber lo que necesitas
• Saber lo que haces
• Aprender
• Teclear comandos

Una sesión de trabajo

• Iniciar el programa sobre la carpeta de trabajo:

– Tecleando R en la ventana de comandos
– Desde el “Inicio” (no olvidar donde trabajar)

• ¿Que vemos?

>

• ¿Puedo hablarle?

>orden1(parámetro 1,parámetro 2); orden2(parámetro 1,parámetro 2)

Salir y ayudas

• Mi primera palabra: salir
>q()

• Pedir ayuda:

>help(mean)

>apropos(mean)

>help.start()

Operando con R

• Calculadora:
> 2+3
[1] 5

• Guardar un resultado:

> 2+3->suma
> suma
[1] 5
> suma.2<-1+9
> suma.2
[1] 10

Operando con R

> suc<-1:9
> suc
[1] 1 2 3 4 5 6 7 8 9
> mean(suc)
[1] 5
> suc[1]
[1] 1

> suc[5]
[1] 5
> suc[5]*3
[1] 15
> suc*3
[1] 3 6 9 12 15 18 21

24 27

Información:
>data()
>ls()
>ls.str()
>search()

Para relajarnos:
>demo(graphics)
>example(plot)

Objetos:
>rm()
>rm(list=ls(all=T))
>fix()

Tipos de objetos

Constantes o variables:

número, carácter
(reseñado entre comillas: “hola”) o cálculo
guardado con un determinado nombre:

>a<-1
>a
[1] 1
>b<-“hola”
>b
[1] “hola”

> b=="hola"
[1] TRUE
> b!="hola"
[1] FALSE

Tipos de objetos

Vectores: asignando a una variable un conjunto

de valores numéricos, lógicos o caracteres:

>x<-c(1,33,45,75,34)
>x
[1] 1 33 45 75 34

>y<-c(“H“,“I“,“O“)
>y
[1] “H“ “I“ “O“

Tipos de objetos

Funciones: la mayor parte del trabajo en R

implica su uso:

>max(x)
[1] 75

Tipos de objetos

Series de tiempo: La función ts crea un objeto
de clase "ts" (serie de tiempo) a partir de un
vector (serie de tiempo única) o una matriz
(serie multivariada)

Tipos de objetos

Array: vector con atributo de dimensión
Matriz: array de dos dimensiones
Lista: conjunto de elementos que pueden ser

de distintos tipos

Marco de datos: „data frame“, mezcla de

matriz y lista

Tipos de objetos

Matrices: un vector con un atributo (dim) el

cual es un vector numérico de longitud 2:

Lectura desde R:

> data()
> data(iris)
> iris
> fix(iris)

Tipos de objetos

Factor: valores de una variable categórica y los

niveles

> iris$Species
> levels(iris$Species)

Matrices

• Dimensiones de una matriz:
> dim(iris)
[1] 150 5
> ncol(iris)
[1] 5
> nrow(iris)
[1] 150
• Nombre de las filas y columnas:
> colnames(iris)
> rownames(iris)

Matrices

• Dispone de dos subíndices para la fila y la

columna:

> iris[,] o iris
> iris[1,]
> iris[,1]
> iris[1:3,2:3]

#Toda la matriz
#Primera fila
#Primera columna
#Submatriz

Introducción al uso de R.

Manipulación de datos

Fernando Cánovas García

[email protected]

Universidad de Murcia

read.table(file, header = FALSE, sep = "", quote = "\"’", dec = ".",
row.names, col.names, as.is = FALSE, na.strings = "NA",
colClasses = NA, nrows = -1, skip = 0, check.names = TRUE, fill =
!blank.lines.skip, strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#")

file

header

sep
quote
dec

row.names
col.names

as.is

na.strings
colClasses

nrows
skip

check.names

fill

strip.white

blank.lines.skip
comment.char

el nombre del archivo (entre “” o como una variable de tipo carácter), posiblemente con su
dirección si se encuentra en un directorio diferente al de trabajo o una dirección remota al archivo
tipo URL (http://...).
una variable lógica (FALSE (falso) o TRUE (verdadero)) indicando si el archivo contiene el
nombre de las variables en la primera fila o línea
el separador de campo usado en el archivo; por ejemplo sep="\t" si es una tabulación
los caracteres usados para citar las variables en modo carácter
el carácter usado para representar el punto decimal
un vector con los nombres de las líneas de tipo carácter o numérico (por defecto: 1, 2, 3, . . . )
un vector con los nombres de las variables (por defecto: V1, V2, V3, . . . )
controla la conversión de variables tipo carácter a factores (si es FALSE) o las mantiene como
carácteres (TRUE); as.is puede ser un vector lógico o numérico que especifique las variables que
se deben mantener como caracteres
el valor con el que se codifican datos ausentes (convertido a NA)
un vector de caracteres que proporciona clases para las columnas
el número máximo de l´ýneas a leer (se ignoran valores negativos)
el número de líneas ignoradas antes de leer los datos
si es TRUE, chequea que el nombre de las variables sea válido para R
si es TRUE y todas las filas no tienen el mismo número de variables, agrega “blancos”
(condicional a sep) si es TRUE, borra espacios extra antes y despues de variables tipo carácter
si es TRUE, ignora líneas en “blanco”
un carácter que define comentarios en el archivo de datos; líneas que comienzen con este carácter
son ignoradas en la lectura (para desactivar este argumento utilize comment.char =“”)

Variables

• Construimos una matriz y la cargamos:
> read.table(“curso.txt”,header=T,row.names=“muest”)->curso
> curso

> data (iris);iris
> attach(iris)
> names(iris)
> Sepal.Length
> detach(iris)
> Sepal.Length
> iris$Sepal.Length

#Independizar las variables
#Nombre de las variables
#Selección
#Reunir la matriz
#No funciona
# Selección

Tipos de variables

• Cuantitativa: es un vector

– Discreta
– Continua

• Cualitativa: es un factor

– Nominal
– Ordinal

Manejo de datos

#Redondear
#Invertir
#Ordenar de menor a mayor
#Ordenar de mayor a menor
#Alinear

> round(iris$Sepal.Length,0)
> rev(iris$Sepal.Length)
> sort(iris$Sepal.Length)
> rev(sort(iris$Sepal.Length))
> rank(iris$Sepal.Length)
> cbind(iris$Sepal.Length,rank(iris$Sepal.Length))
> log(iris$Sepal.Length,10)
> scale(iris$Sepal.Length)

#Logaritmo
#Escalar

Manejo de datos

#Sumatorio acumulado
#Comparación
#Diferentes selecciones

> cbind(iris$Sepal.Length,scale(iris$Sepal.Length))
> cumsum(iris$Sepal.Length)
> match(iris$Species,”versicolor”)
> iris$Species %in% “versicolor”
> iris[iris$Species %in% “versicolor”,]
> iris[match(iris$Species,”versicolor”),]
> which(iris$Sepal.Length>6)
> iris[which(iris$Sepal.Length>6),]
> table(iris$Species)

Manejo de datos

> levels(iris$Species)
> sample(iris$Species,5)
> iris[sample(iris$Species,5),]
> t(iris)
> paste(”Iris”, iris$Species)
> paste(iris$Sepal.Width,iris$Sepal.Length,sep=“+”)
> split(iris$Sepal.Length,iris$Species)
#Dividir
> sapply(split(iris$Sepal.Length,iris$Species),mean)

#Niveles de un factor
#Repetir varias veces
#Repetir varias veces
#Transponer
#Unir

Realizar cálculos

#Sumatorio
#Producto
#Máximo
#Mínimo
#Rango

> sum(iris$Sepal.Length)
> prod(iris$Sepal.Length)
> max(iris$Sepal.Length)
> min(iris$Sepal.Length)
> range(iris$Sepal.Width)
> range(iris$Sepal.Length)
> which.max(iris$Sepal.Length)
> iris[which.max(iris$Sepal.Length),]
> which.min(iris$Sepal.Width)
> iris[which.min(iris$Sepal.Width),]

#Selección condicionada

Realizar cálculos

#Longitud
#Media

> length(iris$Sepal.Length)
> mean(iris$Sepal.Length)
> mean(iris$Sepal.Width)
> median(iris$Sepal.Length)
> median(iris$Sepal.Width)
> var(iris$Sepal.Length)
> sd(iris$Sepal.Length)
> cor(iris$Sepal.Length,iris$Sepal.Width)
> cov(iris$Sepal.Length,iris$Sepal.Width) #Covarianza

#Mediana

# Varianza
#Desviación estándar
#Correlación lineal

Introducción al uso de R.

Programación

Fernando Cánovas García

[email protected]

Universidad de Murcia

Ejecución condicional: if() {...} else() {...}

• Varias órdenes necesario encerrarlas entre corchetes
>x<-5
>if (x>10) print("mayor") else print("menor")
[1] "menor"
>x<-15
>if (x>10) print("mayor") else print("menor")
[1] ”mayor"
>if (x>10) {print("mayor"); print(sprintf("x vale %f",x))} else print("menor")
[1] "mayor"
[1] "x vale 15.000000"

Órdenes for, repeat y while

• for (i in m) función: ejecuta la función para

cada valor i en un objeto m

>for (i in 1:10) sprintf("i vale %i ",i)

• Si no le indicamos la orden print() no imprime las

salidas.

>for (i in 1:10) print(sprintf("i vale %i ",i))

Órdenes for, repeat y while

• El campo de variación del índice se ha de

encerrar entre paréntesis

>for (i in c(4,7,2)) print(sprintf("i vale %f ",i))

Órdenes for, repeat y while

• while(icond) función: ejecuta la función
mientras el valor i cumpla la condición

>i <- 1

>while (i<20) {print("hola"); i<-i+1}

Órdenes for, repeat y while

• repeat {f1;f2;...;i<-i+1; if(icond) break else
next}: repite la función para cada valor i que
cambia, y la condición de i me define
cuando terminará

>i <- 1
>repeat {print("hola"); i<-i+1; if (i>20) break else next}

function

• Además R permite crear funciones, que una
vez cargadas, podemos ejecutar cuanto
queramos y en otras situaciones con datos
diferentes
• Ganamos

rapidez y
homogeneidad en el análisis y presentación

en

comodidad,

function

• La sintaxis es sencilla:

nombre.de.la.función<-function(a,b,....){función}

• Donde a, b, ..., son los parámetros que
pedimos o introducimos para realizar la
función

function

>suma<-function(a,b) {c<-a+b;print(c)}
>suma(3,5)
• Si queremos saber como es la función que genera
  • Links de descarga
http://lwp-l.com/pdf13072

Comentarios de: Introducción al uso de R (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad