# Práctica 1

Author

Diplomatura PEEC - UBA

## Consideraciones preliminares

Antes de arrancar, algunas claves que nos parecen importantes:

- No necesitan saber todo sobre R para usarlo de manera productiva. Con conocer sus fundamentos y la sintaxis básica de los paquetes más importantes pueden llegar muy lejos.

- Aprender R no es una prueba de memoria. Casi siempre van a tener a mano scripts viejos o ajenos para guiarse, así como foros de ayuda (por ej. Stack Overflow) e inteligencias artificiales.

- Siguiendo con lo anterior, buscar en Google no es hacer trampa, sino todo lo contrario: saber buscar y aprovechar los motores de búsqueda es una habilidad en si misma, importantísima. Eso sí, el conocimiento previo de ustedes se vuelve crucial a la hora de discernir qué les sirve y qué no.

- El uso más productivo de la inteligencia artificial es a partir del conocimiento conceptual de la herramienta. La clave es saber hacer las preguntas correctas y para ello es imprescindible saber sintaxis, conocer las funciones y las potencialidades de cada lenguaje. Estamos a favor del uso de Chat GPT y similares, pero les recomendamos no usarlo en esta instancia formativa. En última instancia, pueden pasarle un código para que les señale errores o les de alguna pista de como resolver algo, sin que resuelva sus problemas mágicamente.

- Sepan que puede haber muchas formas de resolver un mismo problema. Ahí aparece la creatividad de cada unx.

## Ejercicios

### 1. Uso básico de RStudio

1. El ritual de iniciación de todo nuevo usuario de R es imprimir algún saludo en la consola. Escriban `print("hola")` en el panel de la esquna inferior izquierda y denle enter. Recibirán el saludo de R como un eco. Bienvenidos a esta enorme comunidad.
2. Verifiquen que están trabajando dentro del RProject de la clase 1. De no ser así, pueden abrirlo en la esquina superior derecha (y revisar la nota de clase, dónde les explicamos sobre los proyectos de RStudio).
3. Reinicien R desde la barra de herramientas de RStudio (“Session” –> “Restart R”).
4. En R, la función `mean()` calcula promedios. Escriban en la consola (panel inferior izquierdo) el comando `?mean` o `help(mean)` (son equivalentes). Tal es la forma de acceder a la documentación en el panel de ayuda.
5. Creen un nuevo script: desde el panel de archivos de RStudio (parte inferior a la derecha), hay un ícono de hoja en blanco con un símbolo de suma verde. Pónganle un nombre informativo (es una buena práctica). Allí es donde vamos a trabajar.

### 2. Repaso de funciones básicas

Tip

Recuerden el atajo de teclado Alt + - para escribir el operador de asignación `<-`

1. Creen un objeto llamado OBJETO cuyo contenido sea la cadena de caracteres de su elección.

Mostrar respuesta

    OBJETO <- "texto elegido por ustedes"

2. Guarden en un objeto llamado RESULTADO, lo que arroje la operación 2+2.
   1. ¿Qué tipo de objeto acaban de crear? Pásenlo a la función `class()` para verificarlo.

Mostrar respuesta

    RESULTADO <- 2 + 2

    class(RESULTADO)

    # Cuando R interpreta/procesa nuestro código ignora
    # los espacios, entonces podemos usarlos a gusto para
    # hacerlo más legible al ojo humano.

3. Guardar en un objeto llamado Cosa, lo que arroje la evaluación 2 + 2 == 3.

   1. Llamen a la Cosa para ver qué se asignó finalmente.

   2. Pásen también este objeto a la función class() para ver qué clase de objeto es.

   3. Intenten llamar, desde la consola (no en el script) la variable COSA (en máyusculas). ¿Qué ocurre? ¿Por qué?

Mostrar respuesta

    Cosa <- 2 + 2 == 3

    Cosa

    class(Cosa)

4. Sobreescriban la variable Cosa con la multiplicación 2 * 4

   1. Dejen un comentario con `#` explicando lo que pretendían hacer
   2. Evalúen si RESULTADO es distinto de Cosa
   3. Evalúen si Cosa es mayor o igual a 5

Mostrar respuesta

    Cosa <- 2 * 4

    RESULTADO != Cosa

    Cosa >= 5

### 3. Estructuras de datos y métodos de acceso

1. Instalen el paquete `readxl`

Al instalar los paquetes debemos pasarlos a `install_packages()` con el nombre entre comillas. Pero cuando los cargamos con `library()` van sin éstas.
Mostrar respuesta

    install.packages("readxl") # Noten que al instalar va entre comillas

    library(readxl) # Y al importar la libería va sin las comillas

2. Creen un vector con tres componentes numéricos y luego accedan al segundo elemento.

Mostrar respuesta

    un_vector <- c(5,99,7)

    un_vector[2] # Solicito el elemento en segunda posición

3. Levanten el archivo gapminder_2000.csv que está en la carpeta bases y chusmeen las primeras filas con `head()`. Si abren la respuesta a esta consigna verán un código que con algunos errores: corríjanlo.

   1. Usen `names()` para ver los nombres de las columnas. Elijan una columna y accedan a ella con el operador `$`

Mostrar respuesta

    # Una pista: entre otras cosas, la barra inclinada está al revés.

    library(readr)

    base -> read_csv(file = bases\gapminder_2000.csv]

    head(base)

    names(base)

    base$Country

4. Siguiendo con la base anterior:

   1. Tomen el promedio de la columna population (población), usando la función `mean()`.
   2. Busquen el valor mínimo de la columna life (esperanza de vida), usando la función `min()`.

Mostrar respuesta

    mean(base$population)

    min(base$life)

Diplomatura Problemas Actuales de la Economía, el Empleo y el Comercio

diplo.problemas.economia@gmail.com