3  Laboratorio de R 1

En este primer laboratorio de R se abordaran conceptos básicos sobre la consola de R, el uso de R como calculadora, la creación de vectores, creación y llamado de objetos entre otros.

Los objetivos aprendizaje de este primer laboratorio de R son:

  1. Uso de R como calculadora
  2. Creación y llamado de objetos
  3. Creación de vectores
  4. Funciones. Introducción básica.
  5. Directorio y espacio de trabajo
  6. Librerías

3.1 Descripción del data frame bacteria

Para resolver estos primeros ejercicios vamos a utilizar una muestra de los datos contenidos en data frame bacteria que se encuentra en la librería MASS. Este data frame fue modificado para realizar algunos ejercicios del compendio, por lo que se podrán encontrar algunas diferencias del data frame original. En los siguientes capítulos profundizaremos sobre lo que es un data frame y sobre lo que es la librería y su importancia en R.

El data frame bacteria contiene datos en los que el Dr. A. Leach probó los efectos de un fármaco en 50 niños con antecedentes de otitis media en el Territorio del Norte de Australia. Los niños fueron asignados al azar al fármaco o al placebo, y también para recibir un estímulo activo para cumplir con la toma del fármaco. Se comprobó la presencia de H. influenzae en las semanas 0, 2, 4, 6 y 11: faltaban 30 de las comprobaciones y no se incluyen en este marco de datos. Este conjunto de datos se modificó para los fines de este capitulo. Los variables contenidas en esta muestra de datos son las siguientes:

  • ID: Es un identificador para cada uno de los pacientes.

  • y: Indica la presencia ausencia de la otitis. Es un factor con dos niveles n que indica la presencia de otitis y y que indica su ausencia.

  • ap: es un factor con los niveles a (estimulo activo) y p (placebo) que indican si el paciente recibió estímulo activo para cumplir con la toma del fármaco.

  • hilo: Indica el cumplimiento del pacientes. hi cumplimiento algo y lo cumplimiento bajo. week: es una variable numérica que indica la semana en la que se realizó la prueba para la detección de H. influenzae. trt: un factor con niveles de placebo, drug y drug+ (recodificación de la vairable ap e hilo)

  • time: es una variable numérica que indica el tiempo en días de la infección por otitis. Esta variable no se encuentra en el data frame original. Esta es una variable ficticia que se agregó solamente para la realización de algunos ejercicios de este compendio. Esta variable solo se encuentra llena para los pacientes que si presentaron otitis (y).

  • age: es una variable numérica que indica la de los paciente.Esta variable no se encuentra en el data frame original. Esta es una variable ficticia que se agregó solamente para la realización de algunos ejercicios de este compendio.

La tabla Tabla 9.2 muestra los datos que necesitaremos para nuestros ejercicios.

Tabla 3.1: Muestra de 12 datos del data frame bacteria
ID y ap hilo week trt time age
Patient A n a hi 6 drug+ 24 5
Patient B n a hi 2 drug+ 18 3
Patient C n a hi 4 drug+ 7 3
Patient D n a hi 6 drug+ 26 4
Patient E n p hi 0 placebo 26 4
Patient F y p hi 6 placebo NA 3
Patient G y p hi 11 placebo NA 4
Patient H y a lo 0 drug NA 7
Patient I y a lo 2 drug NA 6
Patient J y a lo 4 drug NA 3
Patient K y a lo 6 drug NA 3
Patient L n a lo 2 drug 20 4

3.2 R como calculadora

Supongamos que queremos conocer el tiempo en días que los tres primeros pacientes tuvieron de duración de la infección. Para ellos nos dirigimos a la consola de R (el apartado B de la figura Figura 2.5). Ahí podemos sumar los días de duración de la infección y la consola arrojará el resultado. Para ello solo basta con poner el siguiente código:

y presionamos enter. Se mostrará lo siguiente:

24+18+7

y presionamos enter. Se mostrará lo siguiente:

[1] 49

Si quisiéramos saber cuál es la diferencia del tiempo de infección entre los pacientes 1 y 2, tecleamos en la consola lo siguiente:

24-18

y obtenemos lo siguiente:

[1] 6

Directamente en la consola podemos hacer múltiples operaciones aritméticas siempre que sena variables numéricas, desde sumas, restas, divisiones, pontencia etc. Solo debemos recordar que R sigue la jerarquía de las operaciones y que podemos apoyarnos de paréntesis para separar operaciones. La Tabla 3.2 nos muestra los principales operadores numéricos que se utilizan en R.

Tabla 3.2: Muestra de 12 datos del data frame bacteria
Símbolo (operador) Operación Ejemplo Resultado
+ Suma 4+3 7
- Resta 4-3 1
* Multiplicación 4*3 12
/ División 4/3 1
^ Potencia 4^3 64

Al final del capitulo podrá encontrar otros ejercicios que le permitirán practicar más las funciones de R como calculadora.

3.3 Objetos en R

R es un lenguaje de programación orientado a objetos. Es decir, podemos crear objetos, manipularlos, realizar operaciones con ellos, entre otros. En R todo es un objeto. Por ejemplo, todos los datos y estructuras de datos son objetos. El data frame Bacteria es un objeto. Cuando hablamos de un objeto, en R hablamos de cualquier cosa

Una característica importante de los objetos es que deben de tener un nombre para identificarlos y que no podemos asignar el mismo nombre a dos objetos, ya que sobrescribiremos el primer objeto.

Supongamos que queremos conocer el tiempo promedio de duración de la infección (otitis) en los pacientes de la tabla Tabla 9.2. Recuerde que el tiempo de duración de la infección solo aplica para los individuos identificados con una n en la variable y. El primer paso sería sumar el tiempo de todos los niños y luego dividirlo entre el total de niños seleccionados como se muestra a continuación.

(24+18+17+26+26+20)/6

Nuestro resultado es:

[1] 21.83333

Sin embargo podemos también crear un objeto que contenga la suma del tiempo de la infección para después dividirlo entre 6. En este caso nuestro objeto se llamará suma.

# Creación de nuestro objeto llamado suma
suma <- 24+18+17+26+26+20 
# Nuestro objeto tendrá el resultado de sumar 24+18+17+26+26+20
# El texto a la izquierda del simbolo # es un comentario

En el código anterior podemos resaltar varias cuestiones. La primera es que lo que se se encuentre a la derecha del símbolo # es un comentario y por lo tanto no será leído como código. En el ejemplo anterior podemos encontrar dos comentarios. El primero es # Creación de nuestro objeto llamado suma, el segundo sería # Nuestro objeto tendrá el resultado de sumar 24+18+17+26+26+20.

Otro punto importante a destacar en el ejemplo XX es el uso del símbolo <- el cual en R se utiliza para hacer asignaciones. Es decir en nuestro ejemplo le asignamos a suma el resultado de sumar 24+18+17+26+26+20.

Podemos llamar a nuestro objeto suma y hacer operaciones con él. Solo basta con teclear en nuestra consola suma para obtener el resultado de 24+18+17+26+26+20 como se muestra a continuación:

suma #Teclear en la consola

Nuestro resultado es:

[1] 131

Ahora, una vez creado nuestro objeto podemos hacer operaciones con él. Por ejemplo, calcular el tiempo promedio de duración de la infección.

suma/6 #Para obtener el promedio de la duración de la infección

Nuestro resultado es:

[1] 21.83333

Cuando creamos objetos en RStudio, en el apartado de ambiente (apartado C de la Figura 2.5) de trabajo podemos ver el objeto en si y sus características tal cual se muestra en la figura Figura 3.1.

Figura 3.1: Objetos guardados en el ambiente de trabajo

También podemos crear un objeto con llamado resultado que tendrá el promedio de los días de duración del infección. Podemos utilizar nuestro objeto suma que creamos anteriormente.

# Este objeto tendrá el promedio de los días de infección
resultado <- suma/6# Utilizamos el objeto "suma"

Si queremos acceder a este nuevo objeto, solo es necesario teclear resultado en nuestra consola.

resultado

Nuestro resultado es:

[1] 21.83333

3.4 Creación de objetos

Hasta ahora, hemos revisado como crear un objeto que asignábamos al promedio y a la suma del tiempo de duración de la otitis en un grupo de pacientes. Pero ¿Qué pasa si queremos asignar a un objeto el identificador de los primero 5 pacientes? ¿Si queremos guardar un conjunto de números y después hacer operaciones con el?

3.4.1 Texto en los objetos

Para crear un objeto que contenga los identificadores de los primeros 5 pacientes del data frame bacteria utilizamos el siguiente código:

Identificador <- c("Patient A", "Patient B", "Patient C",
                   "Patient D", "Patient E")

Antes de llamar al objeto, es necesario profundizar en algunos particularidades del código.

  • Se creó un objeto llamado Identificador que contiene los identificadores de los primero 5 pacientes de la tabla Tabla 9.2).
  • Se utilizó el símbolo <- que asigna los identificadores al objeto.
  • Se utilizaron las comillas para cada uno de lo identificadores. Todo el texto o números entrecomillados le indican a R que se trata de caracteres. Si por ejemplo, en lugar de poner "Patient A" hubiéramos escrito simplemente Patient A. R buscaría un objeto llamado Patient A
  • Utilizamos la letra c. La letra es una función que se utiliza para combinar diversos componentes en un objeto que se encuentran dentro de paréntesis. En la sección se hace una introducción a las funciones de R.
  • Se utiliza la coma para separar cada uno de los componentes de nuestro objeto.

Si llamamos a nuestro objeto Identificador obtenemos lo siguiente. Note como se conservan las comillas.

[1] "Patient A" "Patient B" "Patient C" "Patient D" "Patient E"

3.4.2 Vectores numéricos en los objetos

Ahora bien, si es de nuestro interés tener un listado o vector de número con las edades de los 12 pacientes. Podemos utilizar el siguiente código en el que creamos un objeto llamado edades.

edades <- c(5,3,3,4,4,3,4,7,6,3,3,4)

Note como el código tiene las mismas características explicadas anteriormente pero no utiliza las comillas. Las comillas no son necesarias para los números. Siempre y cuando no quiera que los números se comporten como texto o como factor.

Si llamamos al objeto edades obtenemos lo siguiente:

 [1] 5 3 3 4 4 3 4 7 6 3 3 4

Una de las ventajas del lenguaje de programación orientado a objetos es que podemos hacer operaciones con ellos. Por ejemplo puedo restarle 2 a cada uno de los componentes del objeto edades con el siguiente código:

edades-2

cuyo resultado sería

 [1] 3 1 1 2 2 1 2 5 4 1 1 2

Note como R le resto 2 a cada número del objeto edades.

Incluso podemos unir dos objetos. En el siguiente código se sumarán dos objetos: 1 el que contiene las edades y 2 otro objeto que tiene las mismas edades pero al cuadrado. Estos objetos se colocaran un objeto llamado edades_final.

edades2 <- edades^2
# Creación del objeto con las edades al cuadrado
edades_final <- c(edades,edades2)
# Objeto con todas las edades

Si llamamos al objeto obtenemos lo siguiente:

 [1]  5  3  3  4  4  3  4  7  6  3  3  4 25  9  9 16 16  9 16 49 36  9  9 16

Puede crear secuencias de números utilizando el simbolo :. Por ejemplo el siguiente código crea una secuencia del 1 al 25.

secuencia <- 1:25

Si llamamos a nuestro objeto obtendremos:

 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Note como no es necesario utilizar la función c. Sin embargo si objeto tiene más de dos secuencias si es necesario, por ejemplo:

secuencia2 <- c(1:25, 27:50)

Si llamamos al obejto anterior obtenemos:

secuencia2
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

3.4.3 Nombres de objetos en R.

Los nombres de las variables y objetos deben comenzar con una letra, aunque pueden incluir letras, números, puntos y guiones bajos. Si por alguna razón los nombres de los objetos comienzan con un punto, este puede ser utilizado siempre deber seguido de una letra.

Por conveniencia, se recomienda usar nombres cortos, claros, no ambiguos y descriptivos. Esto previene confusión y hace que nuestro código sea más fácil de comprender por otras personas o por nosotros mismos en el futuro.

3.5 Introducción a las funciones

En R existen funciones que son básicamente un conjunto de operaciones que nos darán uno o más resultados. Estos resultados pueden ser de características muy distintas, por ejemplo, pueden ser números, números y texto, gráficas etc. Las funciones trabajan con argumentos, es decir, aquello que nos permite modificar la forma en la que la función realiza sus operaciones.

La estructura básica de la función es la siguiente: nombre de la función(). Dentro de los paréntesis se incluye los argumentos y los datos con los que será alimentada la función.

Algunos ejemplos de funciones son:

  • mean(). Función para obtener el promedio de un conjunto de datos.
  • summary(). Función para obtener un resumen
  • c(). Función que nos permite combinar
  • quantile(). Función que nos permite obtener los percentiles de un conjunto de datos.
  • help(). Función para obtener ayuda de otras funciones.

Por ejemplo si queremos obtener el promedio de duración de la infección del grupo de niños de la tabla Tabla 9.2, podemos utilizar el siguiente código:

mean(24,18,17,26,26,20)

Que nos dará como resultado:

[1] 24

También podemos crear una gráfica.

boxplot(edades_final)

# Se utilizó el objeto creado anteriormente
# Con este código se crea un gráfico de caja y bigotes

3.6 Función de ayuda

La función mas importante en R es la ayuda help(). Esta función nos permitirá encontrar documentación para conocer la estructura de paquetes, funciones y datos. Por ejemplo puede solicitar ayuda de la función mean() con el siguiente código:

help("mean")#Note el entrecomillado. 

El resultado de la ayuda se mostrará en el apartado inferior derecho de RStuido (ver figura Figura 2.5), apartado D). En la ayuda mostrada, podrá encontrar la estructura de la función (como alimentar la función), los argumento y su uso, y al final, algunos ejemplos. Recomiendo siempre tomar los ejemplos mostrados en el ayudas y adaptarlos a nuestras necesidades. Esto facilitará mucho su proceso de aprendizaje de R.

3.7 Uso de Scripts

Es momento de dejar de utilizar la consola para utilizar los script. La descripción de un script y de como abrirlo uno nuevo se encuentra en apartado de [Estructura de RStudio].

Una de las ventajas de los scripts es que podemos organizar nuestro código y guardarlo. Además, en los script podemos poner comentarios y ver exactamente que línea de código es en la que estamos trabajando. La figura Figura 3.2 muestra el script que contiene código utilizado en este capitulo.

Figura 3.2: Ejemplo de un Script

Para correr alguna parte o todo el código del script, puede seleccionar el codigo que desee evaluar y presionar el botón de run (ver figura Figura 3.3). Otra opción es colocarse al inicio o al final de una instrucción y presionar crtl+enter en Windows o cmd+enter en Mac. Es importante identificar donde comienza y donde termina la instrucción. Hay una sola instrucción en las lineas 9 y 10 de la figura Figura 3.3 pero dos instrucciones en la lineas 12 y 13. Un consejo para identificar las instrucciones tiene que ver con el cierre de los paréntesis.

Figura 3.3: Botón de Run

3.8 Directorio de trabajo

Una de las principales características de R, es que podemos trabajar en directorios de trabajos (carpetas). El directorio de trabajo es el lugar de nuestra computadora en el que se encuentran los archivos que estamos trabajando cn R. Además es aquí donde se guardarán todos nuestros archivos como gráficos, informes etc.

Por ejemplo, el directorio de trabajo de este compendio es: Users/carpeta1/carpeta2/BioestadisticaV2

Si le interesa conocer cual es el directorio de trabajo en el que se encuentre utilice el siguiente código:

getwd()

Puedes cambiar el directorio de trabajo usando la función setwd(). Esta función requiere alimentarse con el directorio de trabajo que queremos usar. Por ejemplo.

setwd("otro_directorio")
# No olvide el uso de las comillas

Note como todas las rutas de archivos dentro de nuestro equipo van entre comillas.

Los pasos anteriormente descritos no son muy útiles si creamos un proyecto directamente en RStudio. Para ello vaya, diríjase al cuadrante superior izquierdo y busque el símbolo mostrado en la figura Figura 3.4 y Figura 3.5).

Figura 3.4: Creación de un nuevo proyecto en RStudio
Figura 3.5: Creación de un nuevo proyecto en RStudio

Una vez en el menú anterior podemos crear un proyecto en una carpeta ya existente Figura 3.6 o crearlo en una carpeta ya creada Figura 3.7. Para fines prácticos no hay diferencia entre cualquiera de las dos vías.

Figura 3.6: Creación de un nuevo proyecto desde un directoria nuevo
Figura 3.7: Creación de un nuevo proyecto en una carpeta existente

Las ventajas de crear un proyecto, es que automáticamente nuestra directorio de trabajo cambiará al del proyecto, y desde aquí podemos manipular todas los archivos con los que trabaje. Se recomienda crear un proyecto para la clase, en el que incluya una carpeta de bases de datos, otra de gráficos y otra de scripts.

3.9 Sesión

¿Que pasaría si quiero guardar mis objetos? Recuerde que los objetos pueden ser todo R. En este caso la opción que tenemos es guardar nuestra sesión.

Los objetos y funciones de R son almacenados en la memoria RAM de nuestra computadora y no son intercambiables entre distintas sesiones. Por lo tanto al guardar nuestra sesión podemos acceder una y otra vez a los objetos creados en determinado día de trabajo. Cuando cerramos R cerramos nuestra sesión, aunque es posible tener más de una sesión de R activa en la misma computadora.

La forma más fácil de guardar nuestra sesión es al cerrar R. en este punto se nos preguntará si deseamos guardar el contenido de nuestra sesión. Si decidimos guárdala, crearemos un archivo con extensión .Rdata en tu directorio de trabajo. La otra opción es dar clic en el símbolo de guardado en nuestro ambiente de trabajo (cuadrante superior derecho). Ver figura Figura 3.8

Figura 3.8: Guardar sesión

3.10 Librerías

R trabaja con librerías o paquetes, es decir un conjunto de funciones diseñadas para atender una tarea específica. Esto hacer que el potencial de R se prácticamente infinito. Hay paquetes para prácticamente para todo.

Estos paquetes se encuentran alojados en el CRAN, todos los paquetes aquí publicados se someten a un control de calidad estricto y a una validación extenuante. Aunque cualquiera puede compilar una librería en R no todos podemos publicarla en el CRAN (algún día tendré el mio). Tenga la certeza que los paquetes alojados en el CRAN están perfectamente validados y no arrojaran datos erróneos.

La función que permite la instalación de librerías directamente desde el CRAN es install.packages(). Esta función la alimentamos con el nombre del paquete que deseamos instalar, entre comillas.

Por ejemplo

install.packages("Nombre-Del-Paquete")

Cuando el paquete se comienza a instalar aparecerán algunos mensajes en la consola mostrando el avance de la instalación. Cada vez que iniciemos una nueva sesión de R deberemos de cargar el paquete que estemos utilizando. Esto lo hacemos con la función library().

library(Nombre-Del-Paquete) # Sin comillas

También podemos marcar la casilla de verificación del listado de paquetes mostrados en el cuadrante inferior derecho de RStudio.

3.11 Información complementaria

Creación de proyectos en RStudio

Conceptos básicos de R

¿Cómo crear un nuevo proyecto y organizar la carpeta de trabajo?

Instalación de paquetes en R

Paquetes útiles en R R Basics

3.12 Ejercicios Laboratorio de R 1

El objetivo de estos ejercicios es poner en práctica conceptos básicos en el manejo de R como:

  1. R como calculadora
  2. Crear objetos
  3. Realizar operaciones con objetos
  4. Repasar los conceptos básicos sobre bioestadística

Instrucciones: Responda cada una de las siguiente preguntas. En aquellas respuestas en las que sea necesario, agregue una captura de pantalla. Entregue un PDF con sus respuestas.

Ejercicio 3.1 ¿Cuál es el objetivo de la bioestadística?

Ejercicio 3.2 Diga al menos tres diferencias entre estadística descriptiva y estadística inferencial?

Ejercicio 3.3 ¿Qué significan los siguientes símbolos: “=” y “->”?

Ejercicio 3.4 ¿Cuál es la diferencia entre “->” y “<-”?

Ejercicio 3.5 ¿Cuál sería el código para calcular el resultado de la siguiente operación? eleve 1.75 al cuadrado, después súmele dos. Este resultado multiplíquelo por 4 y luego divídalo en 2. finalmente reste 4 y luego sume 8.

Ejercicio 3.6 Cree un objeto que contenga una secuencia de números del 1 al 256. Nombre este objeto como x. Agregue captura de pantalla.

Ejercicio 3.7 Utilizando la función mean() estime el promedio de este objeto

Ejercicio 3.8 A su objeto x, agregue otra secuencias de número del 5234 al 5240. Agregue captura de pantalla.

Ejercicio 3.9 ¿Es necesario crear otro objeto?

Ejercicio 3.10 Estime el promedio de su nuevo objeto x

Ejercicio 3.11 A cada uno de los datos de x súmele 3.6 ¿Cuál es el promedio de su nuevo objeto?. Agregue también una captura de pantalla.

Ejercicio 3.12 Cree un objeto que contenga al menos 6 nombres de personas y llámelo y

Ejercicio 3.13 Consulte la ayuda para la función rep ¿Cuál sería el código para realizar un objeto que contenga las palabras: “doctorado”, “biología” y “molecular”? Estás palabras deberán repetirse 6 veces antes de que aparezca la siguiente. Utilice la función: rep. El objeto que se genere objeto deberá tener exactamente 90 datos. Nota: la instrucción rep(x,r) se genera una lista de r valores todos iguales a x.

3.12.1 Resolución

Resolución Ejercicio 3.1

  • ¿Cuál sería el código para calcular el resultado de la siguiente operación? eleve 1.75 al cuadrado, después súmele dos. Este resultado multiplíquelo por 4 y luego divídalo en 2. finalmente reste 4 y luego sume 8.
((((1.75^2+2)*4)/2)-4)+8
[1] 14.125

Resolución Ejercicio 3.2

  • Cree un objeto que contenga una secuencia de números del 1 al 256. Nombre este objeto como x. Agregue captura de pantalla.
x <- 1:256

Resolución Ejercicio 3.3

  • Utilizando la función mean() estime el promedio de este objeto
mean(x)
[1] 128.5

Resolución ?exr-14

  • A su objeto x, agregue otra secuencias de número del 5234 al 5240. Agregue captura de pantalla.

Hay varías formas de hacerlo:

x <- c(x, 5234:5240)
x <- c(1:256, 5234:5240)

Resolución Ejercicio 3.4

  • ¿Es necesario crear otro objeto?

No

  • Estime el promedio de su nuevo objeto x
mean(x)
[1] 264.4677

Resolución Ejercicio 3.5

  • A cada uno de los datos de x súmele 3.6 ¿Cuál es el promedio de su nuevo objeto?. Agregue también una captura de pantalla.
x+3.6
  [1]    4.6    5.6    6.6    7.6    8.6    9.6   10.6   11.6   12.6   13.6
 [11]   14.6   15.6   16.6   17.6   18.6   19.6   20.6   21.6   22.6   23.6
 [21]   24.6   25.6   26.6   27.6   28.6   29.6   30.6   31.6   32.6   33.6
 [31]   34.6   35.6   36.6   37.6   38.6   39.6   40.6   41.6   42.6   43.6
 [41]   44.6   45.6   46.6   47.6   48.6   49.6   50.6   51.6   52.6   53.6
 [51]   54.6   55.6   56.6   57.6   58.6   59.6   60.6   61.6   62.6   63.6
 [61]   64.6   65.6   66.6   67.6   68.6   69.6   70.6   71.6   72.6   73.6
 [71]   74.6   75.6   76.6   77.6   78.6   79.6   80.6   81.6   82.6   83.6
 [81]   84.6   85.6   86.6   87.6   88.6   89.6   90.6   91.6   92.6   93.6
 [91]   94.6   95.6   96.6   97.6   98.6   99.6  100.6  101.6  102.6  103.6
[101]  104.6  105.6  106.6  107.6  108.6  109.6  110.6  111.6  112.6  113.6
[111]  114.6  115.6  116.6  117.6  118.6  119.6  120.6  121.6  122.6  123.6
[121]  124.6  125.6  126.6  127.6  128.6  129.6  130.6  131.6  132.6  133.6
[131]  134.6  135.6  136.6  137.6  138.6  139.6  140.6  141.6  142.6  143.6
[141]  144.6  145.6  146.6  147.6  148.6  149.6  150.6  151.6  152.6  153.6
[151]  154.6  155.6  156.6  157.6  158.6  159.6  160.6  161.6  162.6  163.6
[161]  164.6  165.6  166.6  167.6  168.6  169.6  170.6  171.6  172.6  173.6
[171]  174.6  175.6  176.6  177.6  178.6  179.6  180.6  181.6  182.6  183.6
[181]  184.6  185.6  186.6  187.6  188.6  189.6  190.6  191.6  192.6  193.6
[191]  194.6  195.6  196.6  197.6  198.6  199.6  200.6  201.6  202.6  203.6
[201]  204.6  205.6  206.6  207.6  208.6  209.6  210.6  211.6  212.6  213.6
[211]  214.6  215.6  216.6  217.6  218.6  219.6  220.6  221.6  222.6  223.6
[221]  224.6  225.6  226.6  227.6  228.6  229.6  230.6  231.6  232.6  233.6
[231]  234.6  235.6  236.6  237.6  238.6  239.6  240.6  241.6  242.6  243.6
[241]  244.6  245.6  246.6  247.6  248.6  249.6  250.6  251.6  252.6  253.6
[251]  254.6  255.6  256.6  257.6  258.6  259.6 5237.6 5238.6 5239.6 5240.6
[261] 5241.6 5242.6 5243.6

Resolución Ejercicio 3.6

  • Cree un objeto que contenga al menos 6 nombres de personas y llámalo y
y <- c("Nombre 1", "Nombre 2", "Nombre 3", "Nombre 4", "Nombre 5", "Nombre 6")

Resolución Ejercicio 3.7

  • Consulte la ayuda para la función rep

hay dos formas de hacerlo

help("rep")
?help

Resolución Ejercicio 3.8

¿Cuál sería el código para realizar un objeto que contenga las palabras: “doctorado”, “biología” y “molecular”? Estás palabras deberán repetirse 6 veces antes de que aparezca la siguiente. Utilice la función: rep. El objeto que se genere objeto deberá tener exactamente 90 datos. Nota: la instrucción rep(x,r) se genera una lista de r valores todos iguales a x.

x <- rep(c("doctorado", "biología", "molecular"), each=6, times=5)
x
 [1] "doctorado" "doctorado" "doctorado" "doctorado" "doctorado" "doctorado"
 [7] "biología"  "biología"  "biología"  "biología"  "biología"  "biología" 
[13] "molecular" "molecular" "molecular" "molecular" "molecular" "molecular"
[19] "doctorado" "doctorado" "doctorado" "doctorado" "doctorado" "doctorado"
[25] "biología"  "biología"  "biología"  "biología"  "biología"  "biología" 
[31] "molecular" "molecular" "molecular" "molecular" "molecular" "molecular"
[37] "doctorado" "doctorado" "doctorado" "doctorado" "doctorado" "doctorado"
[43] "biología"  "biología"  "biología"  "biología"  "biología"  "biología" 
[49] "molecular" "molecular" "molecular" "molecular" "molecular" "molecular"
[55] "doctorado" "doctorado" "doctorado" "doctorado" "doctorado" "doctorado"
[61] "biología"  "biología"  "biología"  "biología"  "biología"  "biología" 
[67] "molecular" "molecular" "molecular" "molecular" "molecular" "molecular"
[73] "doctorado" "doctorado" "doctorado" "doctorado" "doctorado" "doctorado"
[79] "biología"  "biología"  "biología"  "biología"  "biología"  "biología" 
[85] "molecular" "molecular" "molecular" "molecular" "molecular" "molecular"
length(x)
[1] 90

El objeto anterior repitió 6 veces la palabra “doctorado”, luego 6 veces la palabra “biología” y luego 6 veces la palabra “molecular”. Finalmente repitió estás 18 palabras 5 veces.

3.12.2 Extra

  1. Cree un objeto con noventa datos con las palabras del ejercicio anterior sin que existan repeticiones de una misma palabra.
x <- rep(c("doctorado", "biología", "molecular"), times= 90/3)
x
 [1] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
 [7] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[13] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[19] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[25] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[31] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[37] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[43] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[49] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[55] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[61] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[67] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[73] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[79] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
[85] "doctorado" "biología"  "molecular" "doctorado" "biología"  "molecular"
length(x)
[1] 90
  1. Cree un objeto con noventa datos con las palabras del ejercicio anterior que se repitan 3 veces.
x <- rep(c("doctorado", "biología", "molecular"), each=3, times= 90/9)
x
 [1] "doctorado" "doctorado" "doctorado" "biología"  "biología"  "biología" 
 [7] "molecular" "molecular" "molecular" "doctorado" "doctorado" "doctorado"
[13] "biología"  "biología"  "biología"  "molecular" "molecular" "molecular"
[19] "doctorado" "doctorado" "doctorado" "biología"  "biología"  "biología" 
[25] "molecular" "molecular" "molecular" "doctorado" "doctorado" "doctorado"
[31] "biología"  "biología"  "biología"  "molecular" "molecular" "molecular"
[37] "doctorado" "doctorado" "doctorado" "biología"  "biología"  "biología" 
[43] "molecular" "molecular" "molecular" "doctorado" "doctorado" "doctorado"
[49] "biología"  "biología"  "biología"  "molecular" "molecular" "molecular"
[55] "doctorado" "doctorado" "doctorado" "biología"  "biología"  "biología" 
[61] "molecular" "molecular" "molecular" "doctorado" "doctorado" "doctorado"
[67] "biología"  "biología"  "biología"  "molecular" "molecular" "molecular"
[73] "doctorado" "doctorado" "doctorado" "biología"  "biología"  "biología" 
[79] "molecular" "molecular" "molecular" "doctorado" "doctorado" "doctorado"
[85] "biología"  "biología"  "biología"  "molecular" "molecular" "molecular"
length(x)
[1] 90