🔗 charla https://tiny.cc/conectar
Licenciada en biología, magister en ecología
Magister en salud pública
Doctora en estadística
Hoy en día research software engineer
para rOpenSci
para Locke Data
R-Ladies Global social master (Twitter!)
Equipo de R Weekly y blogger
Editora voluntaria para el sistema de revisión por pares de software en rOpenSci
Una comunidad científica y de desarrollo de software R
Apoyo a la ciencia abierta y reproducible
Paquetes R mantenidos por el personal y la comunidad
Una comunidad científica y de desarrollo de software R
Apoyo a la ciencia abierta y reproducible
Paquetes R mantenidos por el personal y la comunidad
Muy bien, pero mejor es ilustrarlo con ejemplos...
🔗 charla https://tiny.cc/conectar
text <- pdftools::pdf_text("assets/poster_conectar.pdf")text <- tokenizers::tokenize_lines(text)text <- text[[1]][text[[1]] != ""]text <- trimws(text)text <- glue::glue_collapse(text, sep = " ")
Conferencia Latinoamericana de Usuarios del Lenguaje de Programación R La conferencia tiene como objetivo abrir un espacio para compartir experiencias entre investigadores, docentes y empresa privada, y encontrar puntos en común que nos permitan aprender más del lenguaje de programación. Al mismo tiempo, queremos incentivar la creación de conoci- miento a partir del uso de la herramienta en la región. Ejes temáticos de la conferencia • Aplicaciones en distintas disciplinas de la academia y la industria. Formato de • Uso en conjunto con otros lenguajes de programación participación: • Uso innovador de paquetes existentes •Charlas Invitadas • Desarrollo de nuevos paquetes •Charlas contribuidas • Uso en la enseñanza •Demos • Análisis reproducible de datos •Posters • Análisis de grandes datos • Aprendizaje automático • Visualización de datos • Análisis de datos abiertos Organizan: Fechas importantes Información Fecha límite para la recepción de conectar@ucr.ac.cr, trabajos: 20 de agosto del 2018 info.conectar2019@gmail.com Notificación aceptación: Facebook: https://www.facebook.com/ConectaR2019 1ero de noviembre del 2018 Twitter: @conectar2019 Recepción de versiones finales e (hashtag #ConectaR2019, #profesionalesR) inscripción de autores: 15 de noviembre del 2018
cld2::detect_language(text)
## [1] "es"
cld3::detect_language(text)
## [1] "es"
text %>% tokenizers::tokenize_words() %>% unlist() -> wordswords
## [1] "conferencia" "latinoamericana" "de" ## [4] "usuarios" "del" "lenguaje" ## [7] "de" "programación" "r" ## [10] "la" "conferencia" "tiene" ## [13] "como" "objetivo" "abrir" ## [16] "un" "espacio" "para" ## [19] "compartir" "experiencias" "entre" ## [22] "investigadores" "docentes" "y" ## [25] "empresa" "privada" "y" ## [28] "encontrar" "puntos" "en" ## [31] "común" "que" "nos" ## [34] "permitan" "aprender" "más" ## [37] "del" "lenguaje" "de" ## [40] "programación" "al" "mismo" ## [43] "tiempo" "queremos" "incentivar" ## [46] "la" "creación" "de" ## [49] "conoci" "miento" "a" ## [52] "partir" "del" "uso" ## [55] "de" "la" "herramienta" ## [58] "en" "la" "región" ## [61] "ejes" "temáticos" "de" ## [64] "la" "conferencia" "aplicaciones" ## [67] "en" "distintas" "disciplinas" ## [70] "de" "la" "academia" ## [73] "y" "la" "industria" ## [76] "formato" "de" "uso" ## [79] "en" "conjunto" "con" ## [82] "otros" "lenguajes" "de" ## [85] "programación" "participación" "uso" ## [88] "innovador" "de" "paquetes" ## [91] "existentes" "charlas" "invitadas" ## [94] "desarrollo" "de" "nuevos" ## [97] "paquetes" "charlas" "contribuidas" ## [100] "uso" "en" "la" ## [103] "enseñanza" "demos" "análisis" ## [106] "reproducible" "de" "datos" ## [109] "posters" "análisis" "de" ## [112] "grandes" "datos" "aprendizaje" ## [115] "automático" "visualización" "de" ## [118] "datos" "análisis" "de" ## [121] "datos" "abiertos" "organizan" ## [124] "fechas" "importantes" "información" ## [127] "fecha" "límite" "para" ## [130] "la" "recepción" "de" ## [133] "conectar" "ucr.ac.cr" "trabajos" ## [136] "20" "de" "agosto" ## [139] "del" "2018" "info.conectar2019"## [142] "gmail.com" "notificación" "aceptación" ## [145] "facebook" "https" "www.facebook.com" ## [148] "conectar2019" "1ero" "de" ## [151] "noviembre" "del" "2018" ## [154] "twitter" "conectar2019" "recepción" ## [157] "de" "versiones" "finales" ## [160] "e" "hashtag" "conectar2019" ## [163] "profesionalesr" "inscripción" "de" ## [166] "autores" "15" "de" ## [169] "noviembre" "del" "2018"
tibble::tibble(word = words) %>% dplyr::count(word, sort = TRUE)
## # A tibble: 110 x 2## word n## <chr> <int>## 1 de 21## 2 la 9## 3 del 6## 4 en 5## 5 datos 4## 6 uso 4## 7 2018 3## 8 análisis 3## 9 conectar2019 3## 10 conferencia 3## # … with 100 more rows
library("opencage")ucr <- opencage::opencage_forward("San Jose", countrycode = "CR", limit = 1)$resultsstations <- GSODR::nearest_stations(LAT = ucr$geometry.lat, LON = ucr$geometry.lng, distance = 25)tiempo <- GSODR::get_GSOD(years = 1988:2019, station = stations)tiempo <- dplyr::mutate(tiempo, date = lubridate::ymd(tiempo$YEARMODA))
str(tiempo)
## Classes 'tbl_df', 'tbl' and 'data.frame': 20333 obs. of 49 variables:## $ USAF : chr "787620" "787620" "787620" "787620" ...## $ WBAN : chr "99999" "99999" "99999" "99999" ...## $ STNID : chr "787620-99999" "787620-99999" "787620-99999" "787620-99999" ...## $ STN_NAME : chr "JUAN SANTAMARIA INTL" "JUAN SANTAMARIA INTL" "JUAN SANTAMARIA INTL" "JUAN SANTAMARIA INTL" ...## $ CTRY : chr "CS" "CS" "CS" "CS" ...## $ STATE : chr NA NA NA NA ...## $ CALL : chr "MROC" "MROC" "MROC" "MROC" ...## $ LAT : num 9.99 9.99 9.99 9.99 9.99 ...## $ LON : num -84.2 -84.2 -84.2 -84.2 -84.2 ...## $ ELEV_M : num 921 921 921 921 921 ...## $ ELEV_M_SRTM_90m : num 909 909 909 909 909 909 909 909 909 909 ...## $ BEGIN : int 19550704 19550704 19550704 19550704 19550704 19550704 19550704 19550704 19550704 19550704 ...## $ END : int 20181216 20181216 20181216 20181216 20181216 20181216 20181216 20181216 20181216 20181216 ...## $ YEARMODA : Date, format: "1988-01-01" "1988-01-02" ...## $ YEAR : chr "1988" "1988" "1988" "1988" ...## $ MONTH : chr "01" "01" "01" "01" ...## $ DAY : chr "01" "02" "03" "04" ...## $ YDAY : num 1 2 3 4 5 6 7 8 9 10 ...## $ TEMP : num 25.3 22.8 23.6 23.5 23.4 23.3 22.8 23.8 23.5 22.9 ...## $ TEMP_CNT : int 14 15 13 22 13 14 17 20 14 10 ...## $ DEWP : num 16.2 17.6 16.2 15.1 14.7 14.8 14.9 15.3 14.8 14.9 ...## $ DEWP_CNT : int 14 15 13 22 13 14 17 20 14 10 ...## $ SLP : num 1011 1011 1011 1011 NA ...## $ SLP_CNT : int 4 5 5 5 0 5 6 7 5 6 ...## $ STP : num 910 910 909 910 910 ...## $ STP_CNT : int 14 15 13 22 13 14 17 20 14 10 ...## $ VISIB : num 13.4 13.5 14.3 13 12.4 13.2 13.7 13.8 13.7 15.9 ...## $ VISIB_CNT : int 14 15 13 21 13 14 17 20 14 10 ...## $ WDSP : num 10 6 7.6 7.3 9.6 11 7.5 6.3 7.3 6.9 ...## $ WDSP_CNT : int 14 14 13 22 13 14 17 20 13 10 ...## $ MXSPD : num 12.9 10.3 10.3 9.3 12.9 15.4 12.4 8.2 10.3 10.3 ...## $ GUST : num 20.6 15.4 15.4 18 20.6 25.7 17.5 15.4 15.4 13.4 ...## $ MAX : num 28 29.2 29.8 28.8 28.2 27.3 28.2 28.2 30 29.6 ...## $ MAX_FLAG : chr NA NA NA NA ...## $ MIN : num 20.4 19 19 19 19.6 20 18 18.2 18.3 16.8 ...## $ MIN_FLAG : chr NA NA NA NA ...## $ PRCP : num 0 0 0 0 0 0 0 0 0 0 ...## $ PRCP_FLAG : chr "A" "C" "C" "C" ...## $ SNDP : num NA NA NA NA NA NA NA NA NA NA ...## $ I_FOG : int 0 0 0 0 0 0 0 0 0 0 ...## $ I_RAIN_DRIZZLE : int 0 0 0 0 0 0 0 0 0 0 ...## $ I_SNOW_ICE : int 0 0 0 0 0 0 0 0 0 0 ...## $ I_HAIL : int 0 0 0 0 0 0 0 0 0 0 ...## $ I_THUNDER : int 0 0 0 0 0 0 0 0 0 0 ...## $ I_TORNADO_FUNNEL: int 0 0 0 0 0 0 0 0 0 0 ...## $ EA : num 1.8 2 1.8 1.7 1.7 1.7 1.7 1.7 1.7 1.7 ...## $ ES : num 3.2 2.8 2.9 2.9 2.9 2.9 2.8 2.9 2.9 2.8 ...## $ RH : num 56.2 71.4 62.1 58.6 58.6 58.6 60.7 58.6 58.6 60.7 ...## $ date : Date, format: "1988-01-01" "1988-01-02" ...
library("ggplot2")ggplot(tiempo, aes(date, TEMP, col = STN_NAME)) + geom_point(size = 0.1, alpha = 0.3) + geom_smooth() + colorblindr::scale_color_OkabeIto() + theme(legend.position = "bottom") + hrbrthemes::theme_ipsum(base_size = 12, axis_title_size = 12, axis_text_size = 12)
birds <- rgbif::occ_data(scientificName = "Turdus grayi", limit = 200000)
birds <- birds$databirds <- dplyr::filter(birds, basisOfRecord == "HUMAN_OBSERVATION")dim(birds)
## [1] 149152 150
birds %>% dplyr::mutate(year = lubridate::year(eventDate)) %>%ggplot() + geom_bar(aes(year)) + hrbrthemes::theme_ipsum(base_size = size, axis_title_size = size, axis_text_size = size) + ylab("No. of observations") + xlab("Time (years)")
## # A tibble: 10 x 2## country n## <chr> <int>## 1 Costa Rica 44681## 2 Mexico 24154## 3 United States of America 17166## 4 Panama 16917## 5 Honduras 16045## 6 Belize 9649## 7 Guatemala 9244## 8 El Salvador 5404## 9 Nicaragua 4458## 10 Colombia 1434
rOpenSci mantiene paquetes para
rOpenSci mantiene paquetes para
opencage
, GSODR
, rgbif
)rOpenSci mantiene paquetes para
acceso a fuentes de datos de la web (opencage
, GSODR
, rgbif
)
acceso a fuentes de datos... raras (PDF con pdftools
y tabulizer
, texto en imágenes con tesseract
)
rOpenSci mantiene paquetes para
acceso a fuentes de datos de la web (opencage
, GSODR
, rgbif
)
acceso a fuentes de datos... raras (PDF con pdftools
y tabulizer
, texto en imágenes con tesseract
)
drake
, gistr
)rOpenSci mantiene paquetes para
acceso a fuentes de datos de la web (opencage
, GSODR
, rgbif
)
acceso a fuentes de datos... raras (PDF con pdftools
y tabulizer
, texto en imágenes con tesseract
)
herramientas de flujo de trabajo (drake
, gistr
)
¡y mucho más para facilitar su trabajo científico! https://ropensci.org/packages/
Fuentes de metadatos de los paquetes:
DESCRIPTION
insignias (badges) en el README
Temas de repositorio GitHub
Temas de repositorio GitHub
DESCRIPTION
Insignias en el README (de GitHub)
Recopilación con codemetar
.
CodeMeta, estándar de metadatos de software científico. Extensión de términos de schema.org.
JSON! 😍 JSON-LD 😮
codemetar
especializado en metadatos de paquetes R.
{ "@context": [ "https://doi.org/10.5063/schema/codemeta-2.0", "http://schema.org" ], "@type": "SoftwareSourceCode", "identifier": "restez", "description": "Download large sections of\n 'GenBank' <https://www.ncbi.nlm.nih.gov/genbank/> and generate a local\n SQL-based database. A user can then query this database using 'restez'\n functions or through 'rentrez' <https://CRAN.R-project.org/package=rentrez>\n wrappers.", "name": "restez: Create and Query a Local Copy of 'GenBank' in R", "codeRepository": "https://github.com/ropensci/restez#readme", "issueTracker": "https://github.com/ropensci/restez/issues", "license": "https://spdx.org/licenses/MIT", "version": "1.0.0", "programmingLanguage": { "@type": "ComputerLanguage", "name": "R", "version": "3.5.1", "url": "https://r-project.org" }, "runtimePlatform": "R version 3.5.1 (2018-07-02)", "author": [ { "@type": "Person", "givenName": "Dom", "familyName": "Bennett", "email": "dominic.john.bennett@gmail.com", "@id": "https://orcid.org/0000-0003-2722-1359"}
Palabras claves
], "keywords": [ "genbank", "dna", "sequence", "entrez", "r", "r-package", "rstats"],
Revisión por pares
"review": { "@type": "Review", "url": "https://github.com/ropensci/onboarding/issues/232", "provider": "http://ropensci.org"},
Cada día,
clone de todos los repositorios de github.com/ropensci y github.com/ropenscilabs.
Paquetes = DESCRIPTION + NAMESPACE + man/ + R/
Creación de codemeta.json
Asimilación de todos los codemeta.json
¿Merece la pena aprender a utilizar este paquete?
¿Hay pruebas de que sus resultados son corectos?
¿Merece la pena aprender a utilizar este paquete?
¿Hay pruebas de que sus resultados son corectos?
If you use software that lacks automated tests, you are the tests.
— Jenny Bryan (@JennyBryan) 22 de setembre de 2018
¿Es activo su desarrollo?
¿Tiene tests?
¿Tiene buena documentación?
¿Es popular?
¿Está desarrollado por personas u organizaciones confiables?
Los paquetes de R son como ranas de cristal.
Guayasamin JM, Cisneros-Heredia DF, Maynard RJ, Lynch RL, Culebras J, Hamilton PS - https://zookeys.pensoft.net/article/12108/element/7/hyalinobatrachium-pellucidum/ CC BY-SA 4.0
Paquetes desarrollados por quienes trabajamos en rOpenSci o por la comunidad
¡Sistema de revisión de paquetes!
Revisiones abiertas de paquetes R.
Revisiones abiertas de paquetes R.
Revisiones abiertas de paquetes R.
favorecer el uso de buenas prácticas y estándares
crear una "comunidad de práctica"
Revisiones abiertas de paquetes R.
favorecer el uso de buenas prácticas y estándares
crear una "comunidad de práctica"
colaboración con el Journal of Open Source Software y Methods in Ecology and Evolution
Jeff Leek @jtleek
magick::image_read("https://raw.github.com/jtleek/rpackages/master/documentation.png")
Licencia compatible con la Open-source initiative (OSI)
Documentación completa
Buena cobertura de tests
Código legible
Usabilidad
Licencia compatible con la Open-source initiative (OSI)
Documentación completa
Buena cobertura de tests
Código legible
Usabilidad
¡Adiós source("myfunctions.R")
, hola library("mypkg")
!
¡Adiós source("myfunctions.R")
, hola library("mypkg")
!
¡Al menos para su yo futuro!
Cada vez más fácil con herramientas automáticas
Listas de recursos
De manera abierta y no contenciosa
Sin rechazo
De manera abierta y no contenciosa
Sin rechazo
Procedimiento constructivo para todas las personas involucradas
De manera abierta y no contenciosa
Sin rechazo
Procedimiento constructivo para todas las personas involucradas
Utilizando la infraestructura de GitHub
Solo aceptamos paquetes dedicados a ciertos temas.
https://ropensci.github.io/dev_guide/policies.html#aims-and-scope
Solo aceptamos paquetes dedicados a ciertos temas.
https://ropensci.github.io/dev_guide/policies.html#aims-and-scope
Solo aceptamos paquetes dedicados a ciertos temas.
https://ropensci.github.io/dev_guide/policies.html#aims-and-scope
nuestras categorías: data retrieval, data extraction, database access, data munging, data deposition, reproducibility, geospatial data, text analysis.
aplicación en ciencia
Solo aceptamos paquetes dedicados a ciertos temas.
https://ropensci.github.io/dev_guide/policies.html#aims-and-scope
nuestras categorías: data retrieval, data extraction, database access, data munging, data deposition, reproducibility, geospatial data, text analysis.
aplicación en ciencia
deben mejorar paquetes similares ya existentes
Solo aceptamos paquetes dedicados a ciertos temas.
https://ropensci.github.io/dev_guide/policies.html#aims-and-scope
nuestras categorías: data retrieval, data extraction, database access, data munging, data deposition, reproducibility, geospatial data, text analysis.
aplicación en ciencia
deben mejorar paquetes similares ya existentes
Si tienen dudas, ¡pre-submission inquiry!
Dos revisores.
Discusión continua hasta la aprobación.
Dos revisores.
Discusión continua hasta la aprobación.
A menudo un artículo de blog https://ropensci.org/tags/software-peer-review/
artículos más cortos o (aún) más técnicos ropensci.org/technotes
Para encontrar contenido del mismo tipo a la vez
¿Por qué leer artículos de nuestros blogs, y en general, nuestro contenido?
Conocer lo que hay disponible
Inspirarse
Solucionar problemas presentes o futuros
¡Una hora con telepresentaciones y oportunidades de hacer preguntas antes/durante/después del evento! ☎️
¡Ahora todos los meses! 🎉 Horario variable, casi siempre bueno para América Latina. 😉
github.com/ropenscilabs para cosas más experimentales
Just spent some time browsing through the 361 @rOpenSci repositories. I would highly recommend taking a few minutes to get inspired by all the great projects! https://t.co/Se8wA6MpsJ
— Johannes J. Müller (@jj_mllr) 8 d’agost de 2018
Para conocer nuestras últimas noticias
Twitter https://twitter.com/rOpenSci
Newsletter news.ropensci.org
¡Tenemos un forum!
Desarollar paquetes, poner licencias a datos, hacer ciencia reproducible...
Envíen o revisen paquetes ropensci.org/software-review
Participen en el desarrollo de paquetes. Guía: https://ropensci.github.io/dev_guide/contributingguide.html
A quienes organizan ConectaR, en particular Marcela Alfaro Córdoba, por la invitación y la flexibilidad. A Laura Ación por sus comentarios. ¡Y a todas las personas presentes!
Keyboard shortcuts
↑, ←, Pg Up, k | Go to previous slide |
↓, →, Pg Dn, Space, j | Go to next slide |
Home | Go to first slide |
End | Go to last slide |
Number + Return | Go to specific slide |
b / m / f | Toggle blackout / mirrored / fullscreen mode |
c | Clone slideshow |
p | Toggle presenter mode |
t | Restart the presentation timer |
?, h | Toggle this help |
Esc | Back to slideshow |