R Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito.

Download Report

Transcript R Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito.

R
Introducción
R es una versión del lenguaje de programación S
desarrollado por John Chambers en los laboratorios
Bell en 1976.
R fue escrito inicialmente por Robert Gentleman y
Ross Ihaka en 1995.
R es un lenguaje de programación que implementa
varios paquetes para análisis estadísticos.
R es un lenguaje no tipeado.
Se pueden extender las funciones de R instalando
varios paquetes.
http://cran.r-project.org/mirrors.html
R es un lenguaje interpretado y orientado a objetos.
Ejecución de R en UNIX
R
R: Copyright 2001, The R Development Core Team
Version 1.2.1 (2001-01-15)
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
>
Como funciona R
Objetos
Las variables, datos, arreglos, etc., se guardan en
la memoria de la computadora en forma de objetos,
con un nombre en específico. El usuario puede
modificar o manipular estos objetos por medio de
operadores (aritméticos, logicos) y funciones (otros
objetos).
Creación de un objeto.
> A <- 1
>A=1
> assign(“A”, 1)
>A
[1] 1
Los nombres pueden usar dígitos, caracteres
alfanumércios y “.”, “-”.
Los nombres pueden empezar con “.” o letras, si
empieza con “.” el segundo cracter no debe ser un
dígito.
Durante una sesión los objetos creados son
almacenados, hasta que se termine la sesión o sean
removidos.
> ls()
>objects()
Ls lista los objetos almacenados en la memoria. A la
colección de objetos almacenados en memoria se le
denomina workspace
Para removerlos
> rm(A)
Ayuda
> ?ls
> help(ls)
> help(“ls”)
Para ver la ayuda en formato html
> help.start()
ls.str
apropos
c( )
max( ), min ( )
sort( )
:, seq( )
apropos
La función apropos encuentra todas aquellas
funciones cuyo nombre contiene la palabra dada
como argumento, para los paquetes cargados en
memoria.
> apropos(matrix)
> apropos(list)
> apropos(factor)
> apropos(plot)
Vectores
> x <- c(5, 7, 10.4, 6.8, 4.32)
>1/x
> y <- c(x, 0, x)
> m <- rep(“ no”, 50)
> s <- sample( c ( “A”, “C”, “G”, “T”), size = 10
+ replace = TRUE)
> e <- 1; e[3] <- 17
Aritmética con vectores
(reciclaje)
> y <- c(1, 2)
> v <- 2 * x + y
> a <- (4, 6, 7, 5, 3, 8)
> v <- 2* a + y
c(2, 3) + c( 3, 4, 5)
c( 2, 3 ) + c( 3, 4, 5, 8 )
Secuencias Regulares
1 : 30
= c( 1, 2, ......, 29, 30)
: Tiene la mayor prioridad en una expresión
1: n - 1
seq ( 2: 5)
1:(n-1)
Vectores Lógicos
Los operadores lógicos son <, <=, >, >=, ==, !=
> vector <- x > 6.1
Combinaciones de
Vectores
expand.grid() crea un marco de datos con todas las
combinaciones de vectores proporcionados como
argumentos
> expand.grid(a=c(60, 80), p=c(100, 300),
sexo=c(“m”, “f”))
Atributos
Los vectores deben tener todos los valores del mismo
tipo. (numéricos, complejos, lógicos, caracteres)
mode(objeto)
length(objeto)
La función as, puede cambiar el modo de un objeto
as.numeric( x )
N <- (100.75, 98.7, 64.2, 157.5, 236, 103)
Promedio
Desviación estandard
longitud del vector
Vector ordeado de mayor a menor
Matrices
Las matrices o arreglos multidimensionales, son
vecotores con un vector de dimensión NO NULO
> V <- runif(100)
> dim(V) <- c(2, 5, 10)
>V
> V2 <- array( V, dim= c(2, 5, 10)
> all (V2 == V)
dim(V) <- NULL
> x <- array(1: 20, dim = c(4, 5))
> i <- array(c(1:3, 3:1), dim= c(3, 2))
> x[i] <- 0
>x
Operaciones con matrices
solve : X -1
t : Xt
outer(%o%) el producto de dos vectores xxt
kronecker(%x%)
crossprod, tcrossprod: Atx, Axt
eigen
%*% multiplicacion*
Generar un vector del 1 al 100
Convertirlo a una matriz de 10 * 10
Obtener la suma de los elementos que se encuentran
en la columna 5
Obtener su matriz transpuesta
Multiplicar la transpuesta de la matriz, por la matriz
original
obtener los eigen valores de ambas matrices
Secuencias aleatorias
Estas funciones son de la forma rfunc(n, p1, p2, ..)
donde dunc indica la distribucion, n es el número de
datos generados y p1, p2, ... son valores que toman
los parametros de la distribucion
d{distribution}
acumulada
densidad de probabilidad
p{distibution}
densidad de probabilidad
r{distribution}
q{distribution}
el valor del cuartil
Estructuras de contol (if)
if (1 == 0 ) {
print (1 )
} else {
print (2 )
}
if else
ifelse(prueba, valor-verdadero, valor-falso)
x <- 1: 10
ifelse( x < 5 | x > 8, x, 0)
for
> x <- 1: 10
for ( i in 1: length(x)) {
if ( x[ i ] < 5 ){
print( 2 )
} else {
print (1)
}
}
> while ( i < 10 ) {
........
}
i <- 1
repeat {
if ( i > 10)
break
print (i)
i <- i + 1
}
Funciones
> fx <- function( x, y) {
+ x ^y
+}
fx(1:10, 1: 10)
fx (4, 2)
fx(1: 10, 2:5)
> fx <- function( x, y) {
+ x ^y
+}
fxy(rep(2, 8), seq(2, 16, by 2))
Expresiones
Una expresion es una serie de caracteres que hace
sentido para R, todos los comandos válidos son
expresiones.
Cuando se escribe un comando en el teclado , es
evaluado por R y ejecutado si es valido.
expression permite construir una expresion sin
evaluarla, esta despues puede ser evaluada con eval.
x <- 3; y <- 2; z <- 1;
exp <- expression(x / (y + exp(z)))
eval(exp1)
Series de Tiempo
La función ts se puede usar con un vector (serie de
tiempo única) o una matriz( serie de tiempo
multivariada)
ts(1: 47, frequency = 12, start = c(1952, 2)