PDF de programación - Curso Introducción R: Sesión 2

Imágen de pdf Curso Introducción R: Sesión 2

Curso Introducción R: Sesión 2gráfica de visualizaciones

Publicado el 18 de Septiembre del 2017
853 visualizaciones desde el 18 de Septiembre del 2017
587,1 KB
29 paginas
Creado hace 13a (30/03/2011)
Curso Introducción R: Sesión 2

David V. Conesa Guillén

Grup d'Estadística Espacial i Temporal en Epidemiologia i Medi Ambient

Dept. d'Estadística i Investigació Operativa

Universitat de València

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

1 / 58

Sesión 2: Manejo de datos.

En esta sesión:

1.- Objetos para el manejo de datos.

2.- Características de los objetos en R: modos y atributos. Datos

especiales.

3.- Asignación. Operadores lógicos. Coerción de tipos.

4.- Vectores. Factores. Generación de secuencias regulares. Vectores de

índices.

5.- Variables indexadas (arrays).

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

2 / 58

Sesión 2: Manejo de datos.

También:

6.- Matrices. Operaciones con matrices.

7.- Listas.

8.- Los data.frame u hojas de datos: las funciones attach y dettach.

9.- Lectura de cheros de datos.

10.- Importar y exportar datos de otros programas.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

3 / 58

1.- Objetos para el manejo de datos.

R es un lenguaje orientado a objetos: las variables, datos, funciones,
resultados, etc., se guardan en la memoria activa del ordenador en
forma de objetos con un nombre especíco.

Podemos modicar o manipular estos objetos con operadores
(aritméticos, lógicos y comparativos) y funciones (que a su vez son
objetos).

Las estructuras de datos más usuales: variables, vectores, matrices,
factores, variables indexadas, cadenas de caracteres, listas y data
frames.

Existen otros como series temporales y es posible crear nuevas
estructuras de datos.

Recordar el funcionamiento de objects(), ls() y rm().

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

4 / 58

2.- Características de los objetos en R: modos y atributos.

Los objetos están compuestos de elementos. Los elementos más simples, las
variables, pueden ser:

Tipos o modos de datos

numeric: número real con doble precisión. Los podemos escribir como
enteros (3, -2), con fracción decimal (3.27) o con notación cientíca
(3.12e-47).

complex: números complejos de la forma a+bi.

character: Cadenas alfanuméricas de texto.

logical: variables lógicas. Puede ser TRUE o FALSE.

Ejemplo

nombre<-"Luis"
varon<-TRUE
edad<-23
estatura<-1.77
David Conesa, GEei t•E·ma (UV)

Datos especiales: NA's.

Introducción a R: Sesión 2

5 / 58

En algunos casos las componentes de un objeto pueden no ser
completamente conocidas.

Cuando un elemento o valor es not available le asignamos el valor
especial NA.

En general una operación con elementos NA resulta NA, a no ser que
mediante una opción de la función, podamos omitir o tratar los datos
faltantes de forma especial.

La opción por defecto en cualquier función es na.rm=FALSE (que
indica que NO elimina los NA), que da como resultado NA cuando
existe al menos un dato faltante.

Con la opción na.rm=TRUE, la operación se efectúa con los datos
válidos.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

6 / 58

Datos especiales: NA's.

Ejemplo

x<-NA

x+1

Asignar NA a la variable x

Observar que el resultado es también un NA.

y<-c(x,3,5,x)

Asignamos al vector y dos NA y dos números.

mean(y)

Calcula la media teniendo en cuenta los NA's.

mean(y,na.rm=TRUE)

Calcula la media SIN tener en cuenta los NA's.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

7 / 58

Datos especiales: Inf y NaN's.

En la mayoría de los casos, no debemos preocuparnos de si los
elementos de un objeto numérico son enteros, reales o incluso
complejos. Los cálculos se realizarán internamente como números de
doble precisión, reales o complejos según el caso.

Para trabajar con números complejos, deberemos indicar
explícitamente la parte compleja.

En determinadas ocasiones los cálculos realizados pueden llevar a
respuestas con valor innito positivo (representado por R como Inf) o
innito negativo (-Inf).

Es posible realizar y evaluar cálculos que involucren Inf.

Sin embargo, a veces, determinados cálculos llevan a expresiones que
no son números (representados por R como NaN's, del inglés `not a
number').

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

8 / 58

Datos especiales: Inf y NaN's.

Ejemplo

sqrt(-17)

Produce un Warning message avisando que es un NaN.

sqrt(-17+0i)

Calcula el resultado y devuelve un número complejo.

x<-5/0

Asignamos a x un valor innito.

exp(-x)

Devuelve el valor 0.

exp(x)-exp(x)

Devuelve NaN: es una indeterminación.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

9 / 58

Clasicación de los objetos en R.

Los objetos se pueden clasicar en dos grandes grupos:

atómicos: todos los elementos que los componen son del mismo tipo (o

modo), como por ejemplo los vectores, matrices, series temporales.

recursivos: pueden combinar una colección de otros objetos de diferente

tipo (o modo), como son los data.frame, listas.

Existen otras estructuras recursivas, p.e.:

El modo function está formado por las funciones que constituyen R,
unidas a las funciones escritas por cada usuario. Las trataremos en una
sesión posterior.

El modo expression corresponde a una parte avanzada de R que
trataremos más adelante al presentar las fórmulas en la sesión de
modelos estadísticos.

Recordar además que es posible crear nuevas estructuras.

Utilizando la función str(objeto) podemos obtener información
sobre su estructura.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

10 / 58

Atributos de los objetos.

Los atributos de un objeto suministran información especíca sobre el
propio objeto.

El modo o tipo de un objeto es un caso especial de un atributo de un
objeto. Con el modo de un objeto designamos el tipo básico de sus
constituyentes fundamentales.

Los atributos de un objeto suministran información especíca sobre el
propio objeto. Todos los objetos tienen dos atributos intrínsecos: el
modo y su longitud.

Las funciones mode(objeto) y length(objeto) se pueden utilizar
para obtener el modo y longitud de cualquier estructura.

Ejemplo

x<-c(1,3)
mode(x) # Devuelve el tipo numeric
length(x) # Devuelve la longitud

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

11 / 58

Atributos de los objetos.

Mediante attributes(objeto) podemos obtener una lista de los
atributos no intrínsecos y con attr(objeto,atributo) podemos
usar el atributo seleccionado (p.e. para asignarle un valor).
Los atributos son distintos según el tipo de objeto. Una pequeña lista
de atributos es la siguiente:

Atributos de cada tipo

Atributo

mode

Tipos
Todos

storage.mode Todos los datos de modo numérico

length
names

dim

dimnames

tsp
levels
class

Todos
Vectores y listas
Matrices y arrays
Matrices y arrays
Series temporales
Factores
Cualquier clase

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

12 / 58

Modicación de la longitud de un objeto

Un objeto, aunque esté vacío, tiene modo.

Ejemplo

v <- numeric() almacena en v una estructura vacía de vector numérico.
character() es un vector de caracteres vacío, y lo mismo ocurre con otros
tipos.

Una vez creado un objeto con un tamaño cualquiera, pueden añadirse
nuevos elementos sin más que asignarlos a un índice que esté fuera del
rango previo.

Ejemplo

v[3] <- 17 transforma v en un vector de longitud 3, (cuyas dos primeras
componentes serán NA).

Esta regla se aplica a cualquier estructura, siempre que los nuevos
elementos sean compatibles con el modo inicial de la estructura.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

13 / 58

3.- Asignación. Operadores lógicos. Coerción de tipos.

Recordar que la función principal para denir un objeto es a través de
sus componentes, con la función c(), mediante el comando más
importante en R que es <- el de la asignación.

Las asignaciones pueden realizarse también con una echa apuntando
a la derecha, realizando el cambio obvio en la asignación.

Ejemplo

x <- 3

es equivalente a

3 -> x

pero no a

x < - 3

La asignación puede realizarse también mediante la función assign().

Ejemplo

x<-c(1,3) es equivalente a assign("x", c(1, 3))

En muchos contextos el símbolo = puede también utilizarse
indistintamente para asignar un objeto.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

14 / 58

Asignación.

Si una expresión se utiliza como una orden por sí misma, su valor se
imprime y se pierde. Así pues, la orden 1/x simplemente imprime el
inverso de lo que sea el objeto x sin modicar su valor.
Podemos crear vectores con valores iniciales, FALSE, 0,0+0i, " ",
mediante la función que indica el tipo de dato y entre paréntesis el
numero de elementos a crear.

Ejemplo

x1<-logical(4)

Inicializa un vector de longitud 4 cuyos elementos son FALSE

x2<-numeric(4); x3<-complex(4)

Inicializa (a 0) vectores numéricos de longitud 4

x4<-character(4)

Inicializa un vector de caracteres de longitud 4

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

15 / 58

Operadores lógicos.

Los elementos de un objeto de tipo lógico tienen dos posibilidades,
FALSE o TRUE. Se pueden abreviar en F y T respectivamente.

Los objetos lógicos son generalmente fruto de una comparación.

Ejemplo

Si x <- 3
y <- x>12 produce un objeto lógico de longitud la de x con valor F o V
según se cumpla o no la condición (en este caso F)

Las comparaciones que dan un resultado lógico son:
<, <=, >, >=, ==, ! =.
Los objetos lógicos se pueden utilizar con la aritmética ordinaria, en
cuyo caso son transformados en vectores numéricos, FALSE se
convierte en 0 y TRUE en 1.

David Conesa, GEei t•E·ma (UV)

Introducción a R: Sesión 2

16 / 58

Operadores lógicos.

La aritmética entre objetos lógicos se puede llevar a cabo con los siguientes
operadores lógicos:

Operadores lógicos

Operador Operación

!x
x&y
x|y

xor(x,y)

all

any

Negación de x. Los T los convierte en F y viceversa.
Intersección, operador lógico y:
T y T da T, otra comparación da F
Unión, operador lógico o:
F y F da F, otra comparación da T.
Exclusivo OR, xor(T,F)==T, otra comparación da
  • Links de descarga
http://lwp-l.com/pdf7001

Comentarios de: Curso Introducción R: Sesión 2 (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