Sei sulla pagina 1di 17

Capítulo 1

Conceptos básicos de R
1.1 Instalación de R y así sucesivamente
Si está leyendo esto en el curso HIE R, las computadoras en esta sala ya tienen R y
RStudio
instalado No hay necesidad de actualizar. Tome nota de la configuración recomendada
en RStudio discutido
en la sección ??.??...
1.1.1 instalación R
A lo largo de este libro, suponemos que usa RStudio. Sin embargo, todavía tiene que
instalar R. RStudio es
un programa que ejecuta R para nosotros y agrega mucha funcionalidad. Normalmente
no tienes que abrir la R
programa directamente, simplemente use RStudio (vea la siguiente sección ??. ?? ..).
Para instalar R en su sistema, vaya aquí: http://cran.r-project.org, haga clic en el enlace
de descarga en el
arriba, y luego 'base', y 1 descarga el instalador.
Ejecute el instalador y simplemente presione OK en todas las ventanas (ya que usará
RStudio, la configuración aquí
no importa).
Es una buena idea instalar versiones más nuevas de R cuando estén disponibles.
Simplemente repita este proceso
o ver otra solución en la Sección ??. ????.
1.1.2 Uso e instalación de RStudio
Utilizaremos RStudio a lo largo de este curso (pero vea la nota anterior, debe instalar R
1rst). Descargar
RStudio, vaya aquí: www.rstudio.org para descargarlo (Windows o Mac).
Tómese su tiempo para familiarizarse con RStudio. Cuando está utilizando una nueva
instalación de RStudio,
el comportamiento predeterminado es guardar todos sus objetos en un 'RData' 1le
cuando salga, y carga el mismo
objetos cuando abre RStudio. Este es un comportamiento muy peligroso, y debes
apagarlo. Ver
Sección ??.??. para obtener más información sobre 'RData' 1les. Por ahora, asegúrese
de ir a Herramientas Opciones globales ...
y en la pestaña General, asegúrese de que la configuración sea como la 1gura a
continuación.
Otra característica que puede desear desactivar es la finalización automática del
código, que ahora es un estándar
función en RStudio. Si está utilizando una versión anterior de RStudio, esto no se
aplicará (y no podrá
para 1er de las configuraciones en la figura 1 a continuación).
.
Capítulo ?? Conceptos básicos de R ?? .. Operaciones básicas
Figura ??. ??: Configuración en Herramientas / Opciones globales / General, para evitar
cargar objetos automáticamente desde un
sesión anterior. Esto contamina su espacio de trabajo, causando problemas que son
difíciles de detectar.
Figura ?? ..: Configuración en Herramientas Complemento de código de opciones
globales para evitar la finalización automática de su
código, que abre ventanas de sugerencias a medida que escribe. Algunas personas son
útiles esta 1nd, otras 1nd es molesto
y distrayendo
1.2 Operaciones básicas
1.2.1 R es una calculadora
Cuando abres la consola R, todo lo que ves es amistoso> mirándote. Simplemente
puede escribir el código, golpear
Ingrese, y R escribirá salida en la pantalla.
A lo largo de este tutorial, el código R se mostrará junto con la salida de la siguiente
manera:
# Quiero agregar dos números:
1+1
## [1] 2
Aquí, escribimos 1 + 1, presionamos Enter y R produjo 2. El [1] significa que el
resultado solo tiene un elemento
(el número '.').
En este libro, la salida R se muestra después de ##. Cada ejemplo puede ser ejecutado
por usted, simplemente copie la sección
(utilice la herramienta de selección de texto en Adobe Reader) y péguela en la consola
(con Ctrl + Enter en Windows
máquina, o Cmd + Intro en una Mac).
Podemos hacer todo tipo de operaciones básicas de calculadora. Considere los
siguientes ejemplos:
# Aritmética
12 * (10 + 1)
## [1] 132
# Notación cientifica
3.5E03 + 4E-01
## [1] 3500.4
# pi es una constante incorporada
sin (pi / 2)
## [1] 1
# Valor absoluto
?? €
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con scripts y marcar 1les
abs (-10)
## [1] 10
# Sí, puedes dividir por cero
1001/0
## [1] Inf
# Raíz cuadrada
sqrt (225)
## [1] 15
# Exponentes
15 ^ 2
## [1] 225
# Redondee al entero más cercano (y al techo () para arriba o a la redonda () para más
cercano)
piso (3.1415)
## [1] 3
Intente escribir? Matemáticas para la descripción de más funciones matemáticas.
También tenga en cuenta el uso de # para comentarios: cualquier cosa después de este
símbolo en la misma línea no es leído por R.
A lo largo de este libro, los comentarios se muestran en verde.
1.3 Trabajar con scripts y archivos de rebajas
Al trabajar con R, puede escribir todo en la consola, tal como lo hizo en los últimos
ejemplos.
Sin embargo, probablemente ya hayas notado que esto tiene algunas desventajas. Es
fácil cometer errores, y
molesto volver a escribir todo para corregir una sola letra. También es fácil perder la
pista de lo que
tu has escrito A medida que avanza a trabajar en proyectos más grandes y complicados
(en otras palabras, su
¡propios datos!) rápidamente sabrá que necesita una mejor forma de realizar un
seguimiento de sus análisis. (Después de todo,
¿Alguna vez ha abierto una hoja de cálculo llena de datos seis meses después de que
comenzó y pasó el
todo el día tratando de reconstruir exactamente qué unidades usaste en la columna
D?)
Afortunadamente, R y RStudio ofrecen una serie de buenas maneras de hacerlo. En
este curso nos enfocaremos en dos,
scripts y documentos de rebajas
1.3.1 Scripts R
Los scripts ofrecen la forma más simple de análisis repetible en R. Los scripts son solo
texto 1les que contienen código
y comentarios El script 1les debe terminar en .R.
En RStudio, abra un nuevo script usando el menú Archivo: Archivo Nuevo Archivo R
Script, y guárdelo en su actual
directorio de trabajo con un nombre apropiado (por ejemplo, 'rcourse_monday.R').
(Usar Archivo Guardar, nota
que su directorio de trabajo es la ubicación predeterminada).
Un nuevo script está completamente vacío. Es una buena idea comenzar un nuevo guión
escribiendo algunos
comentarios:
# Curso HIE R - Lunes
# Notas de <su nombre aquí>
# <fecha de hoy>
????
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con scripts y marcar 1les
# Hasta ahora hemos aprendido que R es una gran calculadora.
1+1
Como mencionamos en la Sección ?? ... ??, el símbolo # indica un comentario. En cada
línea, R no evalúa
cualquier cosa que venga después de #. Los comentarios son excelentes para organizar
su código y son esenciales para recordar
usted mismo que era lo que pretendía. Si colaboras con tus colegas (o tu supervisor),
También estarás muy agradecido cuando veas los comentarios en su código, te ayuda a
entender lo que
estás haciendo.
Pruébelo usted mismo A veces, es posible que desee escribir el código directamente en
la consola y agregar
a un script más tarde, una vez que realmente funciona como se esperaba. Puede usar la
pestaña Historial en RStudio para guardar
algun tiempo. Allí, puede seleccionar una o más líneas, y el botón A la Fuente lo
copiará a su
guión.
Pruebalo ahora. Seleccione una línea haciendo clic en ella y envíela a su secuencia de
comandos usando A Fuente.
Puede usar esta función para agregar todos los ejemplos que escribimos en la Sección ??
... ?? a tus notas. Para seleccionar
más de una línea a la vez, mantenga presionada la tecla Mayús. A continuación, puede
enviar todos los ejemplos a su nuevo
script 1le con un clic.
1.3.2 Usar scripts para programar con objetos
Se vuelve más interesante cuando presentamos objetos. Los objetos son variables
nombradas que pueden contener diferentes
valores. Una vez que tiene que hacer un seguimiento de los objetos, naturalmente querrá
usar scripts para que pueda fácilmente
recuerda qué valor se ha asignado a qué objeto. Intente agregar estos ejemplos a su
muestra
guión:
# Trabajando con objetos
# Definir dos objetos
x <- 5
y <- 2 * x
# ... y úsalas en un cálculo básico.
x+y
Tenga en cuenta el uso de <-: este es un operador que asigna cierto contenido a un
'objeto'. La flecha apunta desde
el contenido para el objeto. Construimos dos objetos, x y y.
Ahora ejecutemos el script. Puede ejecutar su secuencia de comandos completa
haciendo clic en el botón Fuente en la parte superior derecha. O,
de manera más conveniente, puede seleccionar secciones de su secuencia de comandos
con el mouse y hacer clic en Ejecutar, o presionando
Ctrl + Enter (Cmd + Intro en una Mac). Si no se selecciona nada, se ejecutará la línea de
código actual. Los los resultados de ejecutar el script anterior se ven así (tenga en
cuenta que los comentarios se envían a la consola)
junto con el código):
# Trabajando con objetos
# Definir dos objetos
x <- 5
y <- 2 * x
# ... y úsalas en un cálculo básico.
x+y
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con scripts y marcar 1les
## [1] 15
Los objetos que ha creado (en este caso, xey) permanecen en la memoria, por lo que
podemos reutilizarlos hasta que podamos
cerrar R. Observe que el código y los comentarios se repiten en la consola, y se
muestran junto con el 1nal
resultados.
Agreguemos algunos cálculos más usando x y y:
# ... unos pocos cálculos más:
x*y
y/x
(x * y) / x
Ejecute su secuencia de comandos haciendo clic en Fuente o resaltando algunas líneas
y escribiendo Ctrl-Intro o Cmd-Intro. Tú
debería obtener estos resultados:
## [1] 50
## [1] 2
## [1] 10
Si lo desea, intente agregar algunos de sus propios cálculos usando xey, o creando
nuevos objetos propios.
También puede asignarle algo más al objeto, sobrescribiendo efectivamente la antigua
x.
# Reasignar un objeto
# Antes de:
mensaje (x)
## 5
x <- "Hola mundo"
# Después:
mensaje (x)
## Hola Mundo
Aquí asignamos una cadena de caracteres a x, que anteriormente tenía un valor
numérico. Tenga en cuenta que no es un
problema para sobrescribir un objeto existente con un tipo diferente de datos (a
diferencia de algunas otras programaciones
idiomas).
Pruébelo usted mismo Tenga en cuenta que RStudio tiene cuatro paneles: el guión R,
la consola R, los Archivos / Trazados /
Paquetes / Ayuda y Medio ambiente / Historia. Puede cambiar la ubicación de los
paneles en Herramientas
Opciones globales ... Diseño de paneles. Cambie el diseño a su gusto.
También puede cambiar la apariencia del código en el panel de scripts y en el panel de
la consola R. Echar un vistazo
en los estilos en Herramientas Opciones globales ... Apariencia, y luego elija uno en la
lista de temas del Editor.
1.3.3 Trabajar con archivos de rebajas
Script 1les son buenos para análisis simples, y son geniales para almacenar pequeñas
cantidades de código que
te gustaría usar en muchos proyectos diferentes. Pero no son la mejor manera de
compartir tus resultados
con otros. Por encima de todo, los scripts R, sin importar lo bien comentado que estén,
no son adecuados para enviarlos como
artículos periodísticos. Para eso, necesitamos incorporar todos nuestros resultados
emocionantes y hermosas 1guras en un
documento con una introducción, métodos, resultados y discusión y conclusiones.
Afortunadamente, hay una manera fácil de hacer esto. También es una gran manera
de realizar un seguimiento de su trabajo como
estás desarrollando un análisis Esto se conoce como R markdown 1le. Markdown es un
conjunto simple de reglas
para formatear texto 1les para que sean legibles por humanos y procesables por
software. El knitr
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con scripts y marcar 1les
El paquete (tal como lo utiliza RStudio) tomará un texto con formato de rebaja 1le y
producirá un formato agradable
salida. El resultado puede ser un documento de Word, página HTML o PDF 1le. Si
necesita instalar knitr,
las instrucciones para instalar nuevos paquetes se pueden encontrar en la Sección ??.
?? €. En el siguiente ejemplo, mostraremos
cómo usar R markdown para dar salida a una palabra 1le. Word 1les es excelente para
colaborar con su
colegas al escribir manuscritos. HTML 1les también puede ser muy útil, RStudio los
produce
rápidamente, y son excelentes para enviar correos electrónicos y verlos en línea.
También se pueden usar para presentar resultados
en una reunión informal. PDF 1les son buenos para publicar proyectos completos. Sin
embargo, produciendo archivos PDF
el uso de RStudio y knitr requiere la instalación de otros paquetes, que no cubriremos
aquí (ver más
Leyendo para obtener más sugerencias si está interesado en hacer esto.)
Lectura adicional Para hacer archivos PDF usando R markdown, necesitará instalar
adicional
software. Este software interactúa con un entorno de composición tipográfica llamado
La-
Texas. En Windows, deberá instalar MiKTeX (miktex.org, para ver instrucciones,
consulte
miktex.org/howto/install-miktex). En Mac OS, necesitará MacTeX (para ambas
instrucciones)
y un enlace de descarga ver tug.org/mactex/mactex-download.html). En Linux, tú
necesitará instalar TeX Live (vea www.tug.org/texlive/). Los otros paquetes necesarios
se descargan automáticamente cuando instala RStudio. Una vez que tienes este
software,
http://rmarkdown.rstudio.com/pdf_document_format.html tiene una buena
explicación de diferentes
funciones que puede agregar a su documento utilizando este formato.
Además de Word, HTML y PDF, también es posible crear muchos otros tipos de 1les
con reducción de R Puede, por ejemplo, hacer presentaciones de diapositivas
(seleccionar Archivo Nuevo Archivo R Marcar ...
luego elija Presentación de la lista de tipos 1le a la izquierda). También puedes hacer
interactivos
documentos, sitios web y muchas otras cosas usando plantillas disponibles en varios
paquetes R.
Consulte http://rmarkdown.rstudio.com/ para obtener tutoriales sobre cómo
aprovechar esto simple, pero
forma poderosa de escribir documentos.
RStudio ofrece un práctico editor para markdown 1les. Comience un nuevo descuento
1le seleccionando Archivo Nuevo Archivo
R Markdown ... Verá el siguiente cuadro de diálogo:
Figura ?? ..: Vaya a Archivo Nuevo Archivo R Retraso, ingrese un título para su
documento y seleccione el documento de Word.
El nuevo documento R markdown (que es solo un texto 1le con la extensión .Rmd) ya
contiene algunos
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con scripts y marcar 1les
código de ejemplo. Ejecute este ejemplo haciendo clic en el botón justo encima del
documento de modificación Knit Word
(le pedirá que guarde el documento en primer lugar si aún no lo ha hecho).
El código de ejemplo generará un nuevo documento, que se abre en MSWord. Puedes
ver que la salida
contiene texto, código R e incluso un gráfico.
Sugerimos utilizar R markdown para organizar sus notas a lo largo de este curso, y
especialmente para organizar
cualquier análisis que esté produciendo para proyectos científicos.
Echemos un vistazo al ejemplo de descuento 1le y veamos qué cosas se deben cambiar
para que sea tu propio. La primera cosa en el 1le es el encabezado. Esto
probablemente ya incluya su nombre, un título, la fecha
creó el 1le y el tipo de salida que le gustaría producir (en este caso, un documento de
Word).
---
title: "Cálculos R básicos en el descuento"
autor: "Remko Duursma"
fecha: "16 de septiembre de 2015"
salida: word_document
---
Después del encabezado, verá dos tipos de texto: fragmentos de código R y texto
normal.
1.3.4 código R en el descuento
La primera cosa que verá debajo del encabezado en su nuevo documento de
descuento es un cuadro gris:
`` `{r setup, include = FALSE}
knitr :: opts_chunk $ set (echo = TRUE)
`` `
Puede eliminar el resto del código de ejemplo que viene con el 1le, pero conserve este
recuadro. Contiene un
fragmento de código R para establecer las opciones para el documento de reducción y
el software que lo procesa
(un paquete conocido como knitr). No te preocupes demasiado por estas opciones
ahora mismo. En cambio, aviso
que el fragmento comienza y termina con tres caracteres de acento (que se
encuentran a la izquierda de las teclas numéricas en
Teclados QWERTY):
`` `
Esto le dice al software que está comenzando una porción de código R. Puedes usar
esta sintaxis para agregar tu propio
trozos de código a la rebaja 1le. Al comienzo del fragmento, tiene varias opciones:
puede dar
el fragmento un nombre (por ejemplo, configuración), puede establecer si mostrar o
no el código (eco), y
si evaluar o no el código (eval). Hay otras opciones, pero estas son las que usará
la mayoría
Tabla ??. ??: Opciones para fragmentos de código dentro de un documento de
reducción.
Opción Lo que establece Valores posibles
echo ¿Debería mostrarse el código en el documento 1nal? VERDADERO FALSO
eval ¿Deberían mostrarse los resultados en el documento 1nal? VERDADERO FALSO
Inténtalo tú mismo Crea fragmentos de código que varíen las opciones echo y eval. Por
ejemplo, prueba
{r echo = TRUE, eval = FALSE} y compara los resultados con {r echo = FALSE, eval =
TRUE}. Puedes
imaginar situaciones en las que le gustaría usar uno o el otro?
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con scripts y marcar 1les
Dentro de los fragmentos del código, puede escribir el código R tal como lo haría
normalmente. # Los comentarios son
tratados como comentarios, los objetos son tratados como objetos, y las expresiones
son evaluadas y los valores son
devuelto.
1.3.5 Texto del cuerpo en el descuento
Lo que hace que markdown sea distinto de un script es la 2exibilidad que tienes para
crear mucho más grande y más
bloques de texto descriptivos (y en RStudio, también puedes revisarlos con ortografía).
Esto te permite escribir documentos
que contienen análisis complejos y resultados que están listos para compartir.
Todo el texto que está fuera de los fragmentos del código R se interpreta como texto
del cuerpo. Markdown está diseñado para ser
fácil de usar, pero es posible que encuentre los primeros pocos símbolos que vea un
poco misteriosos. Aquí hay una guía rápida para que esta pasando:
Table ?? ..: formateo de rebajas básico
Opción de formato Símbolos Ejemplo
Encabezados # # Cabecera de ejemplo
Subtítulos ## ## Subtítulo
Negrita ** ** texto en negrita **
Cursiva * * texto en cursiva *
Huelga a través de __ __ texto cruzado__
Superíndice _ x_2_
Subíndice _ CO_2_
Listas con viñetas * * Un elemento de lista
* Otro elemento de la lista
* Sin embargo, otro elemento de la lista
Listas numeradas 1. 1. Primer elemento de lista
2. Segundo elemento de la lista
3. Tercer elemento de la lista
Regla horizontal tres o más - ----
Salto de línea dos o más espacios más retorno
Aquí hay un ejemplo tonto que combina encabezados, énfasis, listas, superíndices y
salto de línea:
# Haciendo tu marca
Cuando comienzas tu carrera, puedes estar seguro de que una persona con tus talentos
impresionará a sus colegas, y que podrá hacer que
contribuciones a tu campo O bien, puede sentir lo opuesto: seguro de que todos a su
alrededor
eres brillante y solo con la esperanza de poder trabajar sin
atrayendo demasiada atención. Ambas son formas muy comunes de sentir, y a medida
que avanzas
su grado, ambos sentimientos pueden cambiar. ¡No te desanimes! Como Dory lo haría
decir,
"Solo sigue nadando,
nadando,
nadando..."
## El modo * R Markdown *
1. Obtener un buen marcador ^^ 1 ^^
2. Huelga ** audazmente **
3. ¡Cuidado con las personas con los borradores!
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con vectores
### ^^ 1 ^^ Marcas de marcador sugeridas
* Sharpie
* Expo
* Sr. Sketch
Cuando lo procesa knitr y se abre en Word, los resultados se ven más o menos así:
Figure ?? ..: Un pequeño ejemplo de un documento de Word formateado usando
markdown.
Pruébelo usted mismo Experimente con los diferentes tipos de formato de descuento. Si
tú pudieras
como una guía, el 1le Ch1_Basics_of_R.Rmd se puede encontrar con las notas del curso
y contiene
ejemplos que se muestran en esta sección. Intente reorganizar o cambiar el código en
este 1le.
1.3.6 Poniéndolo juntos: cuadernos en rebajas
Sin embargo, el poder real del descuento es poder construir cuadernos que pueda usar
para combinar
código y texto
1.4 Trabajando con vectores
Un tipo de objeto muy útil es el vector, que es básicamente una cadena de números o
bits de texto (pero no
una combinación de ambos). El poder de R es que la mayoría de las funciones pueden
usar un vector directamente como entrada, lo cual
simplifica enormemente la codificación en muchas aplicaciones.
Construyamos un vector de ejemplo con. números:
nums1 <- c (1,4,2,8,11,100,8)
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con vectores
Ahora podemos hacer aritmética básica con este vector numérico:
# Obtener la suma de un vector:
sum (nums1)
## [1] 134
# Obtener media, desviación estándar, número de observaciones (longitud):
mean (nums1)
## [1] 19.14286
sd (nums1)
## [1] 35.83494
longitud (nums1)
## [1] 7
# Algunas funciones dan como resultado un nuevo vector, por ejemplo:
rev (nums1) # elementos inversos
## [1] 8 100 11 8 2 4 1
cumsum (nums1) # suma acumulativa
## [1] 1 5 7 15 26 126 134
Hay muchas más funciones que puede usar directamente en vectores. Ver Tabla ?? ..
para algunos útiles.
Tabla ?? ..: Algunas funciones útiles para vectores. ¡Tenga en cuenta que R distingue
entre mayúsculas y minúsculas!
Función Qué hace Ejemplo
length Devuelve la longitud de la longitud del vector (nums1)
rev Invierte los elementos de un vector rev (nums1)
ordenar Ordena los elementos de una ordenación vectorial (nums1)
orden Devuelve el orden de los elementos en un orden vectorial (nums1)
head Imprime los primeros 1 elementos de un vector head (nums1, 3)
max Devuelve el valor máximo en un vector max (nums1)
min. Devuelve el valor mínimo en un vector min (nums1)
which.max ¿Qué elemento del vector contiene el valor máximo? which.max (nums1)
which.min ¿Qué elemento del vector contiene el valor mínimo? which.min (nums1)
mean Calcula la media de una media vectorial numérica (nums1)
mediana Calcula la mediana de una mediana de vector numérico (nums1)
var Calcula la varianza de un vector var (nums1)
sd Calcula la desviación estándar de un vector sd (nums1)
cumsum Devuelve la suma acumulativa de un vector cumsum (nums1)
Diferencia secuencial entre los elementos de un vector diff (1:10)
unique Enumera todos los valores únicos de un vector único (c (5,5,10,10,11))
redondee los números de las rondas a un número específico de puntos decimales
(2.1341,2)
Pruébelo usted mismo. Algunas de las funciones en Table? Resultan en un solo número,
otras dan un
vector de la misma longitud que la entrada, y para algunas funciones depende. Intenta
adivinar lo que
El resultado debería ser similar a las funciones enumeradas, y probar algunas de ellas en
el vector nums1 que
construido arriba.
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con vectores
Operaciones vectorizadas
En la sección anterior, presentamos una serie de funciones que puede usar para hacer
cálculos en un
vector de números. En R, se pueden realizar varias operaciones en dos vectores, y el
resultado es un vector
sí mismo. Básicamente, R sabe aplicar estas operaciones un elemento a la vez. Esto se
ilustra mejor con
algunos ejemplos:
# Haz dos vectores,
vec1 <- c (1,2,3,4,5)
vec2 <- c (11,12,13,14,15)
# Agregar un número, elemento-sabio
vec1 + 10
## [1] 11 12 13 14 15
# Elemental a nivel cuadrático:
vec1 ^ 2
## [1] 1 4 9 16 25
# Multiplicación por pares:
vec1 * vec2
## [1] 11 24 39 56 75
# División par-sabia
vec1 / vec2
## [1] 0.09090909 0.16666667 0.23076923 0.28571429 0.33333333
# Diferencia entre pares:
vec2 - vec1
## [1] 10 10 10 10 10
# Suma de Pair-wise:
vec1 + vec2
## [1] 12 14 16 18 20
# Compara la suma por pares con la suma de ambos vectores:
suma (vec1) + suma (vec2)
## [1] 80
En cada uno de los ejemplos anteriores, los operadores (como + y demás) 'saben' para
hacer los cálculos uno
elemento a la vez (si es un vector), o por pares (cuando dos vectores). Claramente,
para todos los ejemplos donde
se usaron dos vectores, los dos vectores deben tener la misma longitud (es decir,
tienen el mismo número de
elementos).
Aplicando múltiples funciones a la vez
En R, podemos aplicar funciones y operadores en combinación. En los siguientes
ejemplos, el más interno
las expresiones siempre se evalúan primero. Esto tendrá sentido después de algunos
ejemplos:
# Media del vector 'vec1', * después de * cuadrar los valores:
mean (vec1 ^ 2)
## [1] 11
# Medio del vector, * luego * cuadrado:
??
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con vectores
mean (vec1) ^ 2
## [1] 9
# Desviación estándar de 'vec1' después de restar 1.2:
sd (vec1 - 1.2)
## [1] 1.581139
# Desviación estándar de vec1, menos 1.2:
sd (vec1) - 1.2
## [1] 0.3811388
# Media del registro de vec2:
mean (log (vec2))
## [1] 2.558972
# Registro de la media de vec2:
log (mean (vec2))
## [1] 2.564949
# Valor mínimo de la raíz cuadrada de la suma por pares de vec1 y vec2:
min (sqrt (vec1 + vec2))
## [1] 3.464102
# La suma de las desviaciones cuadradas de la muestra significa:
sum ((vec1 - mean (vec1)) ^ 2)
## [1] 10
# La varianza muestral:
sum ((vec1 - mean (vec1)) ^ 2) / (length (vec1) - 1)
## [1] 2.5
Pruébelo usted mismo, confirme que el último ejemplo es igual a la varianza muestral
que R calcula
(use var).
Vectores de caracteres
Un vector también puede consistir en elementos de carácter. Los vectores de
caracteres se construyen así (no
olvide las comillas, de lo contrario R buscará objetos con estos nombres - vea Ejercicio
??. ?? ...).
palabras <- c ("mascota", "alce", "estrella", "manzana", "la letra r")
Muchas de las funciones resumidas en la tabla anterior también se aplican a vectores
de caracteres con la excepción
de obviamente los numéricos. Por ejemplo, la función de ordenar para alfabetizar un
vector de caracteres:
ordenar (palabras)
## [1] "apple" "elk" "mascota" "estrella"
## [5] "la letra r"
Y cuente la cantidad de caracteres en cada uno de los elementos con nchar,
nchar (palabras)
## [1] 3 3 4 5 12
.€
Capítulo ?? Conceptos básicos de R ?? .. Trabajar con matrices
Examinaremos más de cerca el trabajo con cadenas de caracteres en un capítulo
posterior (ver Sección ...)
1.5 Trabajando con matrices
Otro tipo de objeto es una matriz. Una matriz es como un vector, excepto que
contiene ambas filas y
columnas (un poco como una hoja de cálculo de Excel.) Como los vectores, las matrices
pueden contener solo un tipo de datos en una
hora.
La forma más fácil de construir una matriz es hacer un vector, luego darle dimensiones:
# Tenga en cuenta que, de forma predeterminada, R completa las columnas, de
izquierda a derecha:
mat1 <- matriz (c (1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3)
# Una matriz también se puede completar por filas:
mat2 <- matriz (c (1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3, byrow = TRUE)
Al igual que con los vectores, podemos hacer una aritmética básica con una matriz
numérica:
# Obtener la suma de un vector:
suma (mat1)
## [1] 45
# Obtener media, desviación estándar y número de observaciones (longitud):
mean (mat1)
## [15
sd (mat1)
## [1] 2.738613
longitud (mat1)
## [1] 9
También podemos hacer aritmética en matrices. Al igual que con los vectores, se
aplicará aritmética simple a cada
elemento a la vez:
# Adición
# Agregar un solo número a todos los elementos de una matriz:
mat1 + 10
## [, 1] [, 2] [, 3]
## [1,] 11 14 17
## [2,] 12 15 18
## [3,] 13 16 19
# Multiplicación
# Cada elemento se multiplica por 10:
mat2 * 10
## [, 1] [, 2] [, 3]
## [1,] 10 20 30
## [2,] 40 50 60
## [3,] 70 80 90
De nuevo como con los vectores, si hacemos aritmética en dos matrices a la vez, cada
elemento correspondiente en
las dos matrices se usan:
. ??
Capítulo ?? Conceptos básicos de R ?? .. Generar datos# Multiplicar dos matrices; esto
multiplica cada elemento entre sí
# Obviamente, las matrices deben tener las mismas dimensiones para que esto
funcione:
mat1 * mat2
## [, 1] [, 2] [, 3]
## [1,] 1 8 21
## [2,] 8 25 48
## [3,] 21 48 81
Además de la básica básica, hay muchas funciones para trabajar con matrices.
Por ejemplo, diag devuelve un vector con los elementos diagonales de una matriz:
diag (mat1)
## [1] 1 5 9
Las funciones rowSums y colSums calculan las sumas de filas y columnas,
# Sumas de filas y columnas:
rowSums (mat1)
## [1] 12 15 18
colsums (mat1)
## [1] 6 15 24
y las funciones correspondientes rowMeans y colMeans calculan los medios.
Una de las operaciones especiales que se aplica solo a las matrices es la función t, que
significa transponer.
Para transponer una matriz es para 2 veces para las filas se ejecuta en las columnas, y
las columnas se conviertan en
filas:
# Transponer una matriz
t (mat1)
## [, 1] [, 2] [, 3]
## [1,] 1 2 3
## [2,] 4 5 6
## [3,] 7 8 9
Las matrices pueden ser una forma de organización de los datos, pero en general es
más común usar dataframes.
que lo permite combinar más de un tipo de datos en un solo objeto. No obstante,
algunos básicos
las habilidades en matrices son útiles como una cantidad de funciones incorporadas en
las matrices de retorno R como salida.
Lectura adicional El sitio web de Quick-R tiene una buena explicación de las funciones
relacionadas con la matriz
http://www.statmethods.net/advstats/matrix.html, así como muchos otros recursos y
trampa
sábanas. Si está bien versado en álgebra lineal y le gustaría usar R para hacer este tipo
de cálculos,
http://www.ats.ucla.edu/stat/r/library/matrix_alg.htm tiene una guía útil.
1.6 Generando datos
1.6.1 Secuencias de números
Veamos algunas formas de generar secuencias de números que podemos usar en los
ejemplos y
ceremonias. También hay una serie de situaciones del mundo real en las que se desean
usar estas funciones.
..
¿Capítulo? Conceptos básicos de R ?? .. Generar datos
Primero, como ya vimos, podemos usar c () para 'concatenar' (vincular) una serie de
números. También podemos
Arreglo de una manera, por ejemplo:
a <- c (1,2,3)
b <- c (4,5,6)
taxi)
## [1] 1 2 3 4 5 6
Puede generar secuencias de números usando :, seq y rep, así:
# Secuencias de números enteros usando el operador ":":
1:10 # Números 1 a 10
## [1] 1 2 3 4 5 6 7 8 9 10
5: -5 # De 5 a -5, al revés
## [1] 5 4 3 2 1 0 -1 -2 -3 -4 -5
# Ejemplos usando seq ()
seq (de = 10, a = 100, por = 10)
## [1] 10 20 30 40 50 60 70 80 90 100
seq (desde = 23, por = 2, longitud = 12)
## [1] 23 25 27 29 31 33 35 37 39 41 43 45
# Replicar números:
representante (2, veces = 10)
## [1] 2 2 2 2 2 2 2 2 2 2
rep (c (4,5), cada = 3)
## [1] 4 4 4 5 5 5
La función representa el trabajo con cualquier tipo de vector. Por ejemplo, vectores de
caracteres:
# Replicación simple
rep ("a", veces = 3)
## [1] "a" "a" "a"
# Repite elementos de un vector
rep (c ("E. tereticornis", "E. saligna"), cada uno = 3)
## [1] "E. tereticornis" "E. tereticornis" "E. tereticornis" "E. saligna"
## [5] "E. saligna" "E. saligna"
1.6.2 Números aleatorios
Podemos dibujar números aleatorios usando la función runif. La función runif se basa
en un uniforme
distribución, lo que significa que hay una probabilidad igual de que se
# Diez números aleatorios entre 0 y 1
runif (10)
## [1] 0.09537338 0.03966585 0.96612422 0.97512065 0.83755974 0.89566958
## [7] 0.74144771 0.07147723 0.60767535 0.74607607
# Cinco números aleatorios entre 100 y 1000
runif (5, 100, 1000)
..
¿Capítulo? Conceptos básicos de R ?? .. Objetos en el espacio de trabajo
## [1] 181.3250 169.8446 895.9570 737.1675 310.7220
Pruébelo usted mismo La función runif es parte de una clase de funciones mucho más
grande, cada una de las cuales
devuelve números de una distribución de heredad diferente. Inspeccione las páginas
de ayuda de las funciones
rnorm para la distribución normal y rexp para la distribución exponencial. Intenta
generar algo
datos de una distribución normal con una media de € €€ y una desviación estándar de
€.
A continuación, vamos a visualizar los números de un vector existente.
números <- 1:15
muestra (números, tamaño = 20, reemplazar = VERDADERO)
## [1] 10 10 10 3 12 7 6 7 12 15 13 1 1 11 2 15 14 2 15 14
Este comando presentarea. € números del vector de números, con reemplazo.
1.7 Objetos en el área de trabajo
En los ejemplos anteriores, hemos creado algunos objetos nuevos. Estos objetos se
guardan en la memoria para el
resto de su sesión (es decir, hasta que cierre R).
En RStudio, puede explorar todos los objetos que están actualmente cargados en la
memoria. Objetos que están actualmente
cargados en la memoria forman su espacio de trabajo. Encuentra la ventana que tiene
la pestaña 'Entorno'. Tu aquí
una lista de todos los objetos que ha creado en esta sesión R. Cuando haces clic en un
objeto, una ventana
abre que muestra el contenido del objeto.
Alternativ

Potrebbero piacerti anche