[1] 2
Una introducción al lenguaje de programación
Vamos a familiarizarnos con el entorno de Rstudio y la sintaxis de R.
¿Qué es una variable?
Puede definirse como un conjunto finito que almacena o implica información. Puede cambiarse, eliminarse o significar.
En el siguiente ejemplo verás una variable creada:
¿Pero y si quiero que esa operación anterior sea una variable?
Ahora tengo una variable llamada suma.
Es necesario entender que puedo asociar mis variables. Ejemplo:
Al igual que en otros lenguajes de programación como python, java, perl, matlab…, en R tendremos algunas clases de datos:
Los tipos de dato numérico pueden ser int o float. ¿Qué signfica esto?
Existen otros tipos de datos que deberías conocer, por ejemplo:
¿Qué pasa si no conozco la naturaleza de mis datos?
En Rstudio van a escribir varios conjuntos de variables según el tipo de dato. Tienen 5 minutos!
Digamos que estás haciendo un trabajo en botánica y quieres hacer un listado de especies de Asteraceae.
¿Qué herramienta usas?
La lista, exacto…
sp_asteraceae<-c("*Helianthus annuus*", "*Pterocaulon alopecuroides*", "*Senecio vulgaris*", "*Arnica montana*", "*Artemisa vulgaris*", "*Calendula officinallis*", "*Espeletia hartwegiana* ")
#La lista se puede llamar bajo el mismo nombre.
sp_asteraceae
[1] "*Helianthus annuus*" "*Pterocaulon alopecuroides*"
[3] "*Senecio vulgaris*" "*Arnica montana*"
[5] "*Artemisa vulgaris*" "*Calendula officinallis*"
[7] "*Espeletia hartwegiana* "
En este punto solo tendrás una lista, pero puedes crear varias listas y volverlas una sola tabla. Por ejemplo si es para armar datos en una tabla sobre etnobotánica, podrías hacerlo así…
Si quisieramos armar una tabla para los siguientes datos ya podríamos hacerlo debido a que hemos creado propiamente muchas listas que pueden indexarse.
Nombre científico | Nombres comúnes | Uso medicinal | Uso alimenticion | Uso ornamental |
---|---|---|---|---|
Helianthus annuus | Girasol | 3 | 2 | 2 |
Pterocaulon alopecuroides | Hierba del piojo o árnica de montaña | 4 | 6 | 6 |
Senecio vulgaris | Senecio común | 2 | 3 | 7 |
Arnica montana | Árnica | 5 | 7 | 8 |
Artemisa vulgaris | Ajenjo o artemisa | 6 | 2 | 4 |
Calendula officinallis | Caléndula | 5 | 8 | 2 |
Espeletia hartwegiana | Frailejón | 1 | 0 | 0 |
Miremos esta sintaxis para dataframes…
escorpiones <- data.frame(
Especie = c("Tityus fuhrmanni", "Centruroides margaritatus", "Bothriurus coriaceus", "Buthus occitanus"),
Longitud_mm = c(45, 65, 50, 75),
Veneno_Toxico = c(TRUE, TRUE, FALSE, TRUE)
)
escorpiones
Especie Longitud_mm Veneno_Toxico
1 Tityus fuhrmanni 45 TRUE
2 Centruroides margaritatus 65 TRUE
3 Bothriurus coriaceus 50 FALSE
4 Buthus occitanus 75 TRUE
Una lista puede almacenar distintos tipos de datos en una misma estructura
# Crear una lista con información sobre Drosophila melanogaster
drosophila <- list(
Nombre_Cientifico = "*Drosophila melanogaster*",
Ciclo_Vida_Dias = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), # Ciclo de vida en días
GenesImportantes = c("white", "yellow", "ebony", "bithorax"),
Longitud_mm = 2.5,
Modelo_Biologico = TRUE
)
$Nombre_Cientifico
[1] "*Drosophila melanogaster*"
$Ciclo_Vida_Dias
[1] 1 2 3 4 5 6 7 8 9 10
$GenesImportantes
[1] "white" "yellow" "ebony" "bithorax"
$Longitud_mm
[1] 2.5
$Modelo_Biologico
[1] TRUE
¿Qué pasó aquí?
Simplemente una sola variable “Drosophila” ahora nos puede entregar diferentes características de una especie. Cómo una pokedex.
Esperanza de vida de algunas especies de Asteraceae.
# Tiempo de vida en años de algunas especies
vida_helianthus <- 1 # Anual
vida_arnica <- 2 # Bianual
vida_artemisia <- 3 # Perenne
# Operaciones
total_vida <- vida_helianthus + vida_arnica + vida_artemisia # Suma
vida_promedio <- total_vida / 3 # Promedio de longevidad
vida_doble_arnica <- vida_arnica * 2 # Multiplicación
vida_potencia <- vida_artemisia^2 # Potencia
# Mostrar resultados
total_vida
[1] 6
[1] 2
[1] 4
[1] 9
Longitudes en especies de escorpiones
Este sería un ejemplo con temperatura de hábitat en Drosophila
Frecuencia de polinizadores en plantas de la familia Asteraceae
Elaborar un ejemplo de cada una de las estructuras de datos vistas en la clase. Tienen el resto del día!