{"version":"https://jsonfeed.org/version/1.1","title":"rOpenSci - herramientas abiertas para una ciencia abierta","favicon":"https://ropensci.org/es/blog/apple-touch-icon.png","home_page_url":"https://ropensci.org/es/blog/","feed_url":"https://ropensci.org/es/blog/index.json","description":"Open Tools and R Packages for Open Science","items":[{"id":"https://doi.org/10.59350/xvqq6-nd376","title":"De datos censales a análisis demográficos con ARcenso: un flujo de trabajo reproducible en R","language":"es","authors":[{"name":"Andrea Gomez Vargas","url":"https://orcid.org/0009-0007-8745-3967","avatar":"https://github.com/SoyAndrea.png","_role":["author"]},{"name":"Emanuel Ciardullo","url":"https://orcid.org/0009-0004-9447-7420","avatar":"https://github.com/ECiardullo.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor"]}],"tags":["acceso a datos","censo","arcenso","Argentina","packages"],"content_html":"\u003cp\u003eLos censos de población son una fuente clave para comprender la composición y los cambios de la población en cada región de un país. Aportan evidencia fundamental para la investigación, el diseño y la evaluación de políticas públicas, así como para la toma de decisiones informadas.\u003c/p\u003e\u003cp\u003eTrabajar con estos datos suele implicar varios pasos previos: identificar qué información está disponible, descargar los datos, organizarlos y dejarlos listos para el análisis. Cuando esa información se encuentra dispersa y en formatos heterogéneos, el proceso puede volverse complejo.\u003c/p\u003e\u003cbr\u003e\u003cfigure\u003e\u003cimg src=\"/es/blog/2026/08/10/analisis-demografico-con-arcenso/portada-blog.es.png\"\t\t\talt=\"Ilustración del Censo en Argentina con el logo de ARcenso y rOpenSci, un hornero (ave nacional) y material gráfico de los censos de 1970 y 1980.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003ePortada blog ARcenso\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e\u003ca href=\"https://soyandrea.github.io/arcenso/\"\u003eARcenso\u003c/a\u003e es un paquete desarrollado en el marco del \u003ca href=\"/es/champions/\"\u003eprograma de campeones de rOpenSci\u003c/a\u003e que surge para facilitar el acceso a datos censales de Argentina y simplificar su análisis.\u003c/p\u003e\u003cp\u003eEn este artículo, quienes desarrollamos ARcenso mostramos cómo trabajar de forma simple y reproducible con los datos censales históricos disponibles en el paquete.\u003c/p\u003e\u003cp\u003eEl objetivo es realizar un análisis demográfico con los datos nacionales oficiales de los censos de 1970 y 1980 que combina visualizaciones y tablas para explorar la estructura de la población. Es decir, cómo se distribuye según edad y sexo. Este tipo de análisis permite caracterizar cambios poblacionales entre períodos, información clave para la investigación y el diseño de políticas públicas.\u003c/p\u003e\u003ch2 id=\"cómo-empezar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-empezar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo empezar?\u003c/h2\u003e\u003cp\u003ePara poder copiar y ejecutar el código de este artículo en tu computadora necesitás tener instalados los siguientes paquetes:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Si no tenés pak\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003einstall.packages\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;pak\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Instalar ARcenso desde GitHub\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epak\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003epkg_install\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;soyandrea/arcenso\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Instalar paquetes necesarios desde CRAN\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003einstall.packages\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;dplyr\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;tidyr\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ggplot2\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;gt\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eLuego, cargamos los paquetes necesarios para trabajar con los datos censales y construir indicadores para el análisis:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003earcenso\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# obtención de datos censales\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003edplyr\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# procesamiento de datos\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etidyr\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# orden y transformación de datos\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eggplot2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# diseño de gráficos\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egt\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# diseño de tablas\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"acceso-a-datos-censales\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#acceso-a-datos-censales\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAcceso a datos censales\u003c/h2\u003e\u003cp\u003eAhora que ya tenemos los paquetes instalados, utilizamos ARcenso para acceder a los datos censales de los años 1970 y 1980. El paquete permite seleccionar información según el año, el tema y la geografía de interés a partir de los códigos geográficos oficiales definidos por el \u003ca href=\"https://www.indec.gob.ar/indec/web/Nivel3-Tema-2-41\"\u003eInstituto Nacional de Estadística y Censos (INDEC) de Argentina\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eLa función \u003ccode\u003echeck_repository()\u003c/code\u003e ayuda a identificar los datos incluidos en el paquete. El argumento \u003ccode\u003etopic\u003c/code\u003e especifíca la temática a consultar (por ejemplo, la estructura de la población), mientras que \u003ccode\u003egeo_code\u003c/code\u003e identifica el dominio geográfico de interés.\u003c/p\u003e\u003cp\u003eSi no conocés los valores disponibles para estos argumentos, podés explorarlos directamente en los metadatos del paquete: el objeto \u003ccode\u003egeo_metadata\u003c/code\u003e contiene todas las geografías y sus códigos, mientras que \u003ccode\u003ecensus_metadata\u003c/code\u003e contiene información sobre los temas y los cuadros disponibles en el paquete.\u003c/p\u003e\u003cp\u003eEn este ejemplo, trabajamos con datos de estructura de la población \u003ccode\u003e(topic = \u0026quot;estructura\u0026quot;)\u003c/code\u003e para el total del país \u003ccode\u003e(geo_code = \u0026quot;00\u0026quot;)\u003c/code\u003e. Como primer paso, verificamos qué información está disponible en el repositorio con \u003ccode\u003echeck_repository()\u003c/code\u003e.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003echeck_repository\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etopic\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;estructura\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003egeo_code\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;00\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cpre\u003e\u003ccode\u003e# A tibble: 4 × 3  id_cuadro              anio titulo                                              \u0026lt;chr\u0026gt;                 \u0026lt;dbl\u0026gt; \u0026lt;chr\u0026gt;                                             1 1970_00_estructura_01  1970 Cuadro 1. Total del país. Población total, por gr…2 1980_00_estructura_01  1980 Cuadro G3. Centros urbanos según tamaño y poblaci…3 1980_00_estructura_02  1980 Cuadro G1. Total del país. Población total según …4 1980_00_estructura_03  1980 Cuadro G2. Total del país. Población según sexo y…\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eEl resultado de \u003ccode\u003echeck_repository()\u003c/code\u003e muestra los años disponibles para esa combinación de tema y geografía, junto con los identificadores de los cuadros (IDs) y su título. A partir de esta consulta, seleccionamos los identificadores \u003ccode\u003e1970_00_estructura_01\u003c/code\u003e y \u003ccode\u003e1980_00_estructura_03\u003c/code\u003e, correspondientes a tabulados sobre la población total del país según sexo y grupo de edad, que utilizaremos en el análisis.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e\u003cstrong\u003eBonustrack\u003c/strong\u003e: Como alternativa, también es posible explorar los datos de forma interactiva con \u003ccode\u003earcenso_app()\u003c/code\u003e, desde donde se puede copiar el identificador del cuadro necesario para luego utilizarlo en el análisis.\u003c/p\u003e\u003c/blockquote\u003e\u003cfigure\u003e\u003cimg src=\"/es/blog/2026/08/10/analisis-demografico-con-arcenso/shiny_arcenso.es.png\"\t\t\talt=\"Aplicación Shiny ARcenso: Consulta de Datos Censales con filtros por año, alcance geográfico y temática, mostrando tabla de alfabetismo 1970.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eExplorador interactivo de datos censales con \u003ccode\u003earcenso_app()\u003c/code\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003ch2 id=\"preparación-de-los-datos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#preparaci%c3%b3n-de-los-datos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePreparación de los datos\u003c/h2\u003e\u003cp\u003eUna vez identificados los cuadros de interés, utilizamos \u003ccode\u003eget_census()\u003c/code\u003e para incorporarlos directamente al entorno de trabajo a partir de su identificador.\u003c/p\u003e\u003cp\u003eDado que las estructuras de ambas tablas no son idénticas, realizamos algunas transformaciones para armonizar las variables y construir una base comparable entre censos. En particular, recodificamos las categorías etarias en grupos quinquenales para que tengan una estructura común y agregamos una columna que identifica el año censal.\u003c/p\u003e\u003ch3 id=\"censo-1970\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#censo-1970\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCenso 1970\u003c/h3\u003e\u003cp\u003eEn el caso del censo de 1970, la información ya se encuentra agrupada en grupos quinquenales (intervalos de 5 años) de edad, por lo que solo es necesario ajustar el formato de algunas etiquetas y conservar las variables relevantes para el análisis.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Total del país\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epoblacion_1970\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003eget_census\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eid\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;1970_00_estructura_01\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epob_1970\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion_1970\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esexo\u003c/span\u003e \u003cspan class=\"o\"\u003e!=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Total\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecenso\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1970\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003egrupo_de_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ecase_when\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003egrupo_de_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;0-4\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;00-04\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003egrupo_de_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;5-9\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;05-09\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"kc\"\u003eTRUE\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_de_edad\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003erename\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_de_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecenso\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"censo-1980\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#censo-1980\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCenso 1980\u003c/h3\u003e\u003cp\u003eEl cuadro de 1980, en cambio, presenta la edad en valores simples y añade información adicional que no es relevante para este análisis, por lo que es necesario seleccionar las categorías de interés y construir los grupos quinquenales de edad para hacerlos comparables con los de 1970.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epoblacion_1980\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003eget_census\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eid\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;1980_00_estructura_03\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epob_1980\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion_1980\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eurbano_rural\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Total\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e \u003cspan class=\"o\"\u003e!=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Total\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eedad\u003c/span\u003e \u003cspan class=\"o\"\u003e!=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Total\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecenso\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1980\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eifelse\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eedad\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;85 y más\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e85\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"nf\"\u003eas.numeric\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eedad\u003c/span\u003e\u003cspan class=\"p\"\u003e)),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ecase_when\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e4\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;00-04\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e5\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e9\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;05-09\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e10\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e14\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;10-14\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e15\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e19\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;15-19\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e20\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e24\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;20-24\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e25\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e29\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;25-29\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e30\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e34\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;30-34\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e35\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e39\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;35-39\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e40\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e44\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;40-44\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e45\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e49\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;45-49\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e50\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e54\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;50-54\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e55\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e59\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;55-59\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e60\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e64\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;60-64\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e65\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e69\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;65-69\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e70\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e74\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;70-74\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e75\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e79\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;75-79\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eedad_num\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e80\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003cspan class=\"m\"\u003e84\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;80-84\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"kc\"\u003eTRUE\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;85 y más\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecenso\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"construcción-de-la-base-integrada\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#construcci%c3%b3n-de-la-base-integrada\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConstrucción de la base integrada\u003c/h3\u003e\u003cp\u003eUna vez procesados ambos cuadros, unimos la información en una sola tabla y definimos el formato final de las variables, dejándolas listas para construir visualizaciones y explorar indicadores demográficos.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Unimos ambas geografías y dejamos variables listas para trabajar\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ebind_rows\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epob_1970\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epob_1980\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eas.numeric\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esexo\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003efactor\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003elevels\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Varones\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Mujeres\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003efactor\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003elevels\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;00-04\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;05-09\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;10-14\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;15-19\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;20-24\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;25-29\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;30-34\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;35-39\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;40-44\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;45-49\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;50-54\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;55-59\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;60-64\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;65-69\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;70-74\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;75-79\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;80-84\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        \u003cspan class=\"s\"\u003e\u0026#34;85 y más\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"estructura-de-la-población\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#estructura-de-la-poblaci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEstructura de la población\u003c/h2\u003e\u003cp\u003eAhora que contamos con un conjunto de datos que combina ambos censos y organiza los absolutos poblacionales por año censal, sexo y grupo de edad, podemos comparar de manera consistente la composición de la población entre los dos años de los censos.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003ehead\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"c1\"\u003e# A tibble: 6 × 4\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003ecenso\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e    \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003edbl\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003efct\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e   \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003efct\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e          \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003edbl\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"m\"\u003e1\u003c/span\u003e  \u003cspan class=\"m\"\u003e1970\u003c/span\u003e \u003cspan class=\"n\"\u003eVarones\u003c/span\u003e \u003cspan class=\"m\"\u003e00-04\u003c/span\u003e        \u003cspan class=\"m\"\u003e1196950\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"m\"\u003e2\u003c/span\u003e  \u003cspan class=\"m\"\u003e1970\u003c/span\u003e \u003cspan class=\"n\"\u003eMujeres\u003c/span\u003e \u003cspan class=\"m\"\u003e00-04\u003c/span\u003e        \u003cspan class=\"m\"\u003e1158350\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"m\"\u003e3\u003c/span\u003e  \u003cspan class=\"m\"\u003e1970\u003c/span\u003e \u003cspan class=\"n\"\u003eVarones\u003c/span\u003e \u003cspan class=\"m\"\u003e05-09\u003c/span\u003e        \u003cspan class=\"m\"\u003e1163050\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"m\"\u003e4\u003c/span\u003e  \u003cspan class=\"m\"\u003e1970\u003c/span\u003e \u003cspan class=\"n\"\u003eMujeres\u003c/span\u003e \u003cspan class=\"m\"\u003e05-09\u003c/span\u003e        \u003cspan class=\"m\"\u003e1133950\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"m\"\u003e5\u003c/span\u003e  \u003cspan class=\"m\"\u003e1970\u003c/span\u003e \u003cspan class=\"n\"\u003eVarones\u003c/span\u003e \u003cspan class=\"m\"\u003e10-14\u003c/span\u003e        \u003cspan class=\"m\"\u003e1114300\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"m\"\u003e6\u003c/span\u003e  \u003cspan class=\"m\"\u003e1970\u003c/span\u003e \u003cspan class=\"n\"\u003eMujeres\u003c/span\u003e \u003cspan class=\"m\"\u003e10-14\u003c/span\u003e        \u003cspan class=\"m\"\u003e1086850\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eLa organización de la población por sexo y grupos quinquenales de edad permite analizar su estructura mediante distintas visualizaciones. En este caso, utilizamos una pirámide poblacional, que facilita la lectura conjunta de ambas dimensiones.\u003c/p\u003e\u003ch3 id=\"pirámide-poblacional\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pir%c3%a1mide-poblacional\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePirámide poblacional\u003c/h3\u003e\u003cp\u003eEste tipo de gráfico permite representar la distribución de la población por edad y sexo de manera simultánea, ubicando habitualmente a los varones hacia la izquierda y a las mujeres hacia la derecha. A partir de la proporción de personas en cada grupo de edad quinquenal, la pirámide resume la composición de la población en un formato visual fácil de interpretar.\u003c/p\u003e\u003cp\u003eEn este caso, calculamos la distribución relativa de la población dentro de cada censo, lo que permite comparar la estructura poblacional entre 1970 y 1980 independientemente del tamaño total. Además, la forma de la pirámide permite identificar características generales, como una mayor concentración en edades jóvenes o un perfil relativamente más envejecido.\u003c/p\u003e\u003cp\u003eA continuación, calculamos la distribución relativa de la población en cada censo y construimos una pirámide poblacional para comparar ambos años.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Base para la pirámide poblacional\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epiramide\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecenso\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epoblacion_rel\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eif_else\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003esexo\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Varones\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"nf\"\u003esum\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"nf\"\u003esum\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eungroup\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Pirámide comparativa\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epiramide\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eggplot\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion_rel\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003efill\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_col\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efacet_wrap\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e~\u003c/span\u003e\u003cspan class=\"n\"\u003ecenso\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003encol\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003escale_fill_manual\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003evalues\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;#00f59b\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;#7014f2\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003escale_x_continuous\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003elabels\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"nf\"\u003epaste0\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eround\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"m\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;%\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003elimits\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e-0.15\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e0.15\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ebreaks\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eseq\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e-0.15\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e0.15\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eby\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e0.05\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003elabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Gráfico 1. Estructura de la población por sexo y grupo quinquenal de edad.\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esubtitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Argentina. Años 1970 y 1980\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Porcentaje\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Grupo quinquenal de edad\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecaption\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Fuente: INDEC, Censo Nacional de Población 1970 y 1980. Procesado con ARcenso.\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003efill\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Sexo\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003etheme_bw\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003etheme\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003elegend.position\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;bottom\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003estrip.text\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eelement_text\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eface\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;bold\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esize\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e12\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cfigure\u003e\u003cimg src=\"/es/blog/2026/08/10/analisis-demografico-con-arcenso/piramide_poblacional_1.es.png\"\t\t\talt=\"Pirámides poblacionales que comparan la distribución por edad y sexo en Argentina entre 1970 y 1980. Se observa una base más estrecha en 1980 y un leve aumento relativo de la población en edades adultas y mayores, con diferencias entre varones y mujeres.\"\u003e\u003c/figure\u003e\u003cp\u003eEn ambos censos se observa una estructura poblacional joven, con una alta concentración en los primeros grupos de edad. No obstante, hacia 1980 comienza a evidenciarse un ligero desplazamiento hacia edades adultas, indicando un incipiente proceso de envejecimiento de la población.\u003c/p\u003e\u003ch2 id=\"construcción-de-indicadores-demográficos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#construcci%c3%b3n-de-indicadores-demogr%c3%a1ficos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConstrucción de indicadores demográficos\u003c/h2\u003e\u003cp\u003eSi bien la pirámide poblacional permite una lectura general de la estructura de la población, los indicadores demográficos ofrecen medidas sintéticas que permiten cuantificar y comparar estos patrones de manera más precisa. A continuación, calculamos dos indicadores para profundizar el análisis.\u003c/p\u003e\u003ch3 id=\"índice-de-envejecimiento\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#%c3%adndice-de-envejecimiento\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eÍndice de envejecimiento\u003c/h3\u003e\u003cp\u003eCompara la cantidad de personas mayores (65 años y más) con la población más joven (0 a 14 años). Permite ver de forma simple si la población tiene más peso en las edades jóvenes o en las edades más avanzadas.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eenvejecimiento\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecenso\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003esummarise\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epoblacion_0a14\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esum\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion[\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;00-04\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;05-09\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;10-14\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003e]\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epoblacion_65ymas\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esum\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion[\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;65-69\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;70-74\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;75-79\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;80-84\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;85 y más\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003e]\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eindice\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eround\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion_65ymas\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion_0a14\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"m\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003egt\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eenvejecimiento\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003etab_header\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Comparación del índice de envejecimiento\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esubtitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Argentina. Años 1970 y 1980\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003etab_spanner\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003elabel\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Población\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecolumns\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion_0a14\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion_65ymas\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efmt_number\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecolumns\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion_0a14\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion_65ymas\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003edecimals\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esep_mark\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;.\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecols_label\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epoblacion_0a14\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;0 a 14 años\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003epoblacion_65ymas\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;65 años y más\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eindice\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Indice\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003etab_source_note\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esource_note\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003emd\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"s\"\u003e\u0026#34;**Fuente:** elaboración propia en base a datos de INDEC (Censos Nacionales de Población 1970 y 1980).\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ctable\u003e  \u003cthead\u003e    \u003ctr class=\"gt_heading\"\u003e      \u003ctd colspan=\"4\" class=\"gt_heading gt_title gt_font_normal\" style\u003eComparación del índice de envejecimiento\u003c/td\u003e    \u003c/tr\u003e    \u003ctr class=\"gt_heading\"\u003e      \u003ctd colspan=\"4\" class=\"gt_heading gt_subtitle gt_font_normal gt_bottom_border\" style\u003eArgentina. Años 1970 y 1980\u003c/td\u003e    \u003c/tr\u003e    \u003ctr class=\"gt_col_headings gt_spanner_row\"\u003e      \u003cth class=\"gt_col_heading gt_columns_bottom_border gt_right\" rowspan=\"2\" colspan=\"1\" scope=\"col\" id=\"censo\"\u003ecenso\u003c/th\u003e      \u003cth class=\"gt_center gt_columns_top_border gt_column_spanner_outer\" rowspan=\"1\" colspan=\"2\" scope=\"colgroup\" id=\"Población\"\u003e        \u003cdiv class=\"gt_column_spanner\"\u003ePoblación\u003c/div\u003e      \u003c/th\u003e      \u003cth class=\"gt_col_heading gt_columns_bottom_border gt_right\" rowspan=\"2\" colspan=\"1\" scope=\"col\" id=\"indice\"\u003eIndice\u003c/th\u003e    \u003c/tr\u003e    \u003ctr class=\"gt_col_headings\"\u003e      \u003cth class=\"gt_col_heading gt_columns_bottom_border gt_right\" rowspan=\"1\" colspan=\"1\" scope=\"col\" id=\"poblacion_0a14\"\u003e0 a 14 años\u003c/th\u003e      \u003cth class=\"gt_col_heading gt_columns_bottom_border gt_right\" rowspan=\"1\" colspan=\"1\" scope=\"col\" id=\"poblacion_65ymas\"\u003e65 años y más\u003c/th\u003e    \u003c/tr\u003e  \u003c/thead\u003e  \u003ctbody class=\"gt_table_body\"\u003e    \u003ctr\u003e\u003ctd headers=\"censo\" class=\"gt_row gt_right\"\u003e1970\u003c/td\u003e\u003ctd headers=\"poblacion_0a14\" class=\"gt_row gt_right\"\u003e6.853.450\u003c/td\u003e\u003ctd headers=\"poblacion_65ymas\" class=\"gt_row gt_right\"\u003e1.631.400\u003c/td\u003e\u003ctd headers=\"indice\" class=\"gt_row gt_right\"\u003e24\u003c/td\u003e\u003c/tr\u003e    \u003ctr\u003e\u003ctd headers=\"censo\" class=\"gt_row gt_right\"\u003e1980\u003c/td\u003e\u003ctd headers=\"poblacion_0a14\" class=\"gt_row gt_right\"\u003e8.480.768\u003c/td\u003e\u003ctd headers=\"poblacion_65ymas\" class=\"gt_row gt_right\"\u003e2.290.564\u003c/td\u003e\u003ctd headers=\"indice\" class=\"gt_row gt_right\"\u003e27\u003c/td\u003e\u003c/tr\u003e  \u003c/tbody\u003e  \u003ctfoot\u003e    \u003ctr class=\"gt_sourcenotes\"\u003e      \u003ctd class=\"gt_sourcenote\" colspan=\"4\"\u003e\u003cspan class='gt_from_md'\u003e\u003cstrong\u003eFuente:\u003c/strong\u003e elaboración propia en base a datos de INDEC (Censos Nacionales de Población 1970 y 1980).\u003c/span\u003e\u003c/td\u003e    \u003c/tr\u003e  \u003c/tfoot\u003e\u003c/table\u003e\u003cp\u003eEl aumento del índice de envejecimiento refleja un cambio en la estructura etaria entre 1970 y 1980, lo que indica un mayor peso relativo de la población de 65 años y más en relación con la población joven, es decir, una población relativamente más envejecida.\u003c/p\u003e\u003ch3 id=\"índice-de-feminidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#%c3%adndice-de-feminidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eÍndice de feminidad\u003c/h3\u003e\u003cp\u003eEste indicador muestra cuántas mujeres hay por cada 100 varones en un grupo especifico de población. En este caso, lo analizamos en edades mayores a 60 años, donde suelen aparecer diferencias más marcadas entre hombres y mujeres.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003efeminidad\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e%in%\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;60-64\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;65-69\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;70-74\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;75-79\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;80-84\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;85 y más\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecenso\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003esummarise\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esum\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003e.groups\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;drop\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003epivot_wider\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003enames_from\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003evalues_from\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003epoblacion\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eindice_feminidad\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eround\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eMujeres\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003eVarones\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"m\"\u003e100\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eVarones\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eMujeres\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003efeminidad_plot\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003efeminidad\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003epivot_wider\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003enames_from\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003evalues_from\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eindice_feminidad\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003enames_prefix\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;censo_\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eggplot\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_segment\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1970\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003exend\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1980\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eyend\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003egrupo_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;grey85\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003elinewidth\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_point\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1970\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;#ff0f7b\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esize\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_point\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1980\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecolor\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;#f89b29\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esize\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_text\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1970\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003elabel\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1970\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ehjust\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1.4\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esize\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_text\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1980\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003elabel\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ecenso_1980\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ehjust\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e-0.4\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esize\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003elabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Mujeres por cada 100 varones\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Grupo de edad\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Cambio en el índice de feminidad de la población de 60 años y más\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esubtitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Argentina, Años 1970 y 1980\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecaption\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Fuente: INDEC, Censo Nacional de Población 1970 y 1980. Procesado con ARcenso.\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003etheme_minimal\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003efeminidad_plot\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cfigure\u003e\u003cimg src=\"/es/blog/2026/08/10/analisis-demografico-con-arcenso/indice_feminidad.es.png\"\t\t\talt=\"Gráfico que compara el índice de feminidad (mujeres por cada 100 varones) en la población de 60 años y más entre 1970 y 1980, por grupos quinquenales de edad. En todos los grupos se observa un aumento del índice, con valores más altos en las edades más avanzadas, lo que indica una mayor presencia relativa de mujeres.\"\u003e\u003c/figure\u003e\u003cp\u003eEl índice de feminidad muestra una mayor presencia de mujeres en las edades más avanzadas, diferencia que se acentúa entre 1970 y 1980 en todos los grupos de edad analizados, lo que refleja patrones de mayor supervivencia femenina.\u003c/p\u003e\u003ch2 id=\"qué-nos-deja-este-análisis\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-nos-deja-este-an%c3%a1lisis\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué nos deja este análisis?\u003c/h2\u003e\u003cp\u003eAl trabajar con datos en análisis demográfico, la parte más laboriosa no suele estar en la construcción de indicadores o visualizaciones, sino en todo lo que ocurre antes: identificar qué información existe para cada censo, comprender cómo está organizada y construir una base coherente que permita comparar distintos momentos en el tiempo.\u003c/p\u003e\u003cp\u003eEn este ejemplo, ese proceso implicó localizar los cuadros relevantes, entender las diferencias de estructura entre los censos de 1970 y 1980 y reconstruir variables a partir de la información disponible para crear un conjunto de datos comparable. Es justamente este proceso el que ARcenso busca simplificar: con \u003ccode\u003echeck_repository()\u003c/code\u003e es posible identificar qué tablas están disponibles, con \u003ccode\u003eget_census()\u003c/code\u003e acceder a los datos de forma estructurada, y con \u003ccode\u003earcenso_app()\u003c/code\u003e explorar el repositorio de manera interactiva.\u003c/p\u003e\u003cp\u003eEste ejemplo muestra que, una vez resuelta la organización de los datos, el análisis se vuelve más accesible y reproducible, permitiendo ampliar y adaptar los resultados a nuevas preguntas.\u003c/p\u003e\u003cp\u003eSabemos que este es un proceso en construcción: aún hay trabajo por delante para incorporar más censos y seguir ampliando las posibilidades de análisis. El paquete se creó para facilitar la búsqueda, el acceso y el análisis de los datos de los censos argentinos, al tiempo que aprovecha el trabajo colaborativo de la comunidad de código abierto que impulsa este tipo de iniciativas.\u003c/p\u003e\u003cp\u003eSi te interesa seguir explorando, en las \u003ca href=\"https://soyandrea.github.io/arcenso/articles/indicadores_demograficos.html\"\u003e\u003cem\u003evignettes\u003c/em\u003e\u003c/a\u003e del paquete vas a encontrar más ejemplos para trabajar con estos datos.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/08/10/analisis-demografico-con-arcenso/","date_published":"2026-08-10T00:00:00+00:00","date_modified":"2026-08-13T13:29:29+02:00"},{"id":"https://doi.org/10.59350/8fn33-4e805","title":"Once voces latinoamericanas para la ciencia abierta: la nueva cohorte de Campeon(a|e)s rOpenSci 2026","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["editor"]},{"name":"Bastián Olea Herrera","url":"https://ropensci.org/es/author/basti%C3%A1n-olea-herrera/","avatar":"https://github.com/bastianolea.png","_role":["author"]},{"name":"Denisse Fierro Arcos","url":"https://ropensci.org/es/author/denisse-fierro-arcos/","avatar":"https://github.com/lidefi87.png","_role":["author"]},{"name":"Durga Valentina Linares Herrera","url":"https://ropensci.org/es/author/durga-valentina-linares-herrera/","avatar":"https://github.com/valentinalinares.png","_role":["author"]},{"name":"Estefania Torrejón","url":"https://ropensci.org/es/author/estefania-torrej%C3%B3n/","avatar":"https://github.com/torrejoNia.png","_role":["author"]},{"name":"Evelia Lorena Coss Navarrete","url":"https://ropensci.org/es/author/evelia-lorena-coss-navarrete/","avatar":"https://github.com/EveliaCoss.png","_role":["author"]},{"name":"Gladys Choque Ulloa","url":"https://ropensci.org/es/author/gladys-choque-ulloa/","avatar":"https://github.com/GladysUlloa.png","_role":["author"]},{"name":"José Daniel Conejeros","url":"https://orcid.org/0000-0003-3402-4361","avatar":"https://github.com/JDConejeros.png","_role":["author"]},{"name":"Linda Cabrera Orellana","url":"https://ropensci.org/es/author/linda-cabrera-orellana/","avatar":"https://github.com/lindateachtech.png","_role":["author"]},{"name":"Marina Cecilia Cock","url":"https://ropensci.org/es/author/marina-cecilia-cock/","avatar":"https://github.com/MarinaCock.png","_role":["author"]},{"name":"María Florencia Tames","url":"https://ropensci.org/es/author/mar%C3%ADa-florencia-tames/","avatar":"https://github.com/flortames.png","_role":["author"]},{"name":"Patricia A. Loto","url":"https://orcid.org/0000-0003-1849-6916","avatar":"https://github.com/PatriLoto.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["programa campeones","comunidad"],"content_html":"\u003cp\u003eNos alegra muchísimo presentar a las nuevas personas que se suman como Campeones y Campeonas de rOpenSci. Este grupo experimentará el programa y trabajará en español, lo que nos permite seguir fortaleciendo la comunidad de ciencia abierta y desarrollo de software de investigación en este idioma. Nos llenan de entusiasmo los proyectos que van a desarrollar, que abordan desafíos reales desde distintas disciplinas y territorios de América Latina.\u003c/p\u003e\u003cp\u003eTe invitamos a conocer a cada una de estas personas y los proyectos en los que trabajaran a lo largo del programa.\u003c/p\u003e\u003ch2 id=\"bastián-olea-herrera\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#basti%c3%a1n-olea-herrera\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eBastián Olea Herrera\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/bastian-olea-herrera.jpg\"\t\t\talt=\"Foto de perfil de Bastián Olea Herrera\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eBastián Olea Herrera \u003c/br\u003e Subsecretaría de Desarrollo Regional y Administrativo \u003c/br\u003e Gobierno de Chile\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMi nombre es Bastián, vivo en Chile, soy sociólogx de formación y poseo un magíster en sociología. Me gusta crear contenido y tutoriales sobre R, y recientemente estamos organizando una comunidad de usuari@s de R en Santiago, mi ciudad. Me dedico al análisis de datos en el sector público, donde trabajo principalmente con datos sociales a distintos niveles territoriales. Este tipo de datos necesita siempre los mismos tipos de limpieza y correcciones, pero a su vez suelen variar mucho en pequeños detalles entre cada fuente. Por eso me presenté al programa para desarrollar un paquete que facilite trabajar con datos de nivel comunal y regional de Chile. Espero poder conocer a otrxs usuarixs de R y aprender en conjunto, así como recibir apoyo de personas con mayor experiencia y conocimiento, para que creemos herramientas útiles para muchas personas!\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"denisse-fierro-arcos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#denisse-fierro-arcos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDenisse Fierro Arcos\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/denisse-fierro-arcos.JPG\"\t\t\talt=\"Foto de perfil de Denisse Fierro Arcos\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eDenisse Fierro Arcos \u003c/br\u003e Institute for Marine and Antarctic Studies \u003c/br\u003e University of Tasmania\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMi nombre es Denisse Fierro Arcos, soy científica marina originalmente de Ecuador pero vivo en Australia. Al momento estoy cerca de terminar mi programa de doctorado que en términos sencillos se enfoca en desarrollar buenas prácticas para el uso de modelos oceanográficos en estudios sobre ecosistemas marinos. Actualmente también estoy trabajando como investigadora en la Universidad de Tasmania donde estoy desarrollando un modelo de ecosistemas marinos que nos permita proyectar los posibles impactos del cambio climático en especies marinas y pesquerías. Es justamente este modelo con el que trabajo el enfoque de mi proyecto con el Champions Program. Queremos publicar un paquete en R que permita a otros investigadores marinos correr nuestro modelo con facilidad.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"durga-valentina-linares-herrera\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#durga-valentina-linares-herrera\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDurga Valentina Linares Herrera\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/valentina-linares.jpeg\"\t\t\talt=\"Foto de perfil de Durga Valentina Linares Herrera\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eDurga Valentina Linares Herrera \u003c/br\u003e Centro de Investigación de la Universidad del Pacífico (CIUP)\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Mi nombre es Durga Valentina Linares Herrera y resido en Lima, Perú. Soy científica social, graduada en Ciencia Política por la Universidad Antonio Ruiz de Montoya y diplomada en Ciencia de Datos para las Ciencias Sociales y la Gestión Pública por la Pontificia Universidad Católica del Perú. Trabajo como asistente de investigación en el Centro de Investigación de la Universidad del Pacífico, donde exploro la intersección entre tecnología y trabajo desde una perspectiva sociológica y con metodologías mixtas. Mis proyectos actuales giran en torno al mercado laboral peruano y su exposición a la inteligencia artificial, y a la evolución de la huelga como fenómeno social en el Perú de las últimas tres décadas.\u003c/p\u003e\u003cp\u003ePara el programa presenté como proyecto {epen}, un paquete de R para descargar, procesar y analizar los microdatos de la Encuesta Permanente de Empleo Nacional y su predecesora, la EPE de Lima. La idea nació de mi experiencia trabajando directamente con estas bases, donde pude ver lo difícil que puede ser acceder a datos públicos laborales de forma rápida, clara y reproducible, especialmente para quienes venimos de las ciencias sociales y no siempre llegamos a estas herramientas con una base técnica previa —como fue también mi caso—. Con este paquete, busco facilitarle ese camino a investigadorxs, estudiantes y analistas del sector público que necesitan construir indicadores laborales confiables sin tener que empezar de cero cada vez, algo que encuentro especialmente relevante en esta época de tantos cambios.\u003c/p\u003e\u003cp\u003eEn los últimos años, con la intención de desarrollar nuevas habilidades en un contexto donde la tecnología avanza tan de prisa, fui acercándome a un enfoque más cuantitativo y aprendí a programar de manera autodidacta con recursos libres en internet. Ese proceso ha sido muy importante para mi desarrollo profesional, pero también me hizo querer convertir ese aprendizaje en algo útil para otras personas: una herramienta que ayude a reducir las barreras de entrada que yo misma encontré al comenzar. Así surgió la motivación detrás de este paquete, y este programa apareció justo en el momento indicado. Me entusiasma participar en una iniciativa como esta y formar parte de una red como rOpenSci, cuya apuesta por una ciencia abierta más diversa e inclusiva me parece muy valiosa. Espero que esta experiencia me permita consolidar en comunidad un camino que una vez comencé por mi cuenta y abrir paso a futuros paquetes orientados a mejorar el acceso a datos públicos peruanos en R.\u003c/p\u003e\u003ch2 id=\"evelia-lorena-coss-navarrete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#evelia-lorena-coss-navarrete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEvelia Lorena Coss Navarrete\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/evelia-lorena-coss-navarrete.jpg\"\t\t\talt=\"Foto de perfil de Evelia Lorena Coss Navarrete\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eEvelia Lorena Coss Navarrete \u003c/br\u003e LIIGH-UNAM\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy investigadora posdoctoral especializada en transcriptómica y análisis de datos de célula única. Mi investigación se centra en el estudio de perfiles transcriptómicos de pacientes mexicanas con lupus, con el objetivo de comprender mejor los mecanismos biológicos de la enfermedad y aportar herramientas bioinformáticas reproducibles que fortalezcan tanto la investigación biomédica como la formación académica en México y Latinoamérica.\u003c/p\u003e\u003cp\u003eSoy Ingeniera en Biotecnología por la Universidad Politécnica de Sinaloa (UPSIN), originaria de Mazatlán, y realicé la Maestría y el Doctorado en Biotecnología de Plantas en Cinvestav, donde estudié la conservación de lncRNAs en plantas.\u003c/p\u003e\u003cp\u003eMi participación en el Champions Program de rOpenSci busca fortalecer comunidades como VieRnes de Bioinformática, R-Ladies Morelia y RSG-México, promoviendo la creación de paquetes en R con estándares internacionales, documentación reproducible y revisión abierta. Mi visión es tender un puente entre la comunidad global de rOpenSci y las iniciativas locales en Latinoamérica, impulsando una ciencia más abierta, inclusiva y sostenible.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"gladys-choque-ulloa\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#gladys-choque-ulloa\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGladys Choque Ulloa\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/gladys-choque.jpeg\"\t\t\talt=\"Foto de perfil de Gladys Choque Ulloa\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eGladys Choque Ulloa \u003c/br\u003e Universidad de São Paulo \u003c/br\u003e Fundadora de Women in DataLab\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Mi nombre es Gladys Choque Ulloa, soy originaria de Perú y actualmente resido en Brasil. Soy Licenciada en Estadística, Magíster en Estadística y actualmente curso mi doctorado en Ciencias de la Computación en el ICMC-USP de la Universidad de São Paulo, Brasil, donde desarrollo investigación en neurociencia computacional enfocada en el diagnóstico automático de trastornos mentales, empleando modelos de Machine Learning, Redes Neuronales, LLMs, Inferencia Causal y Series Temporales. Además de mi faceta académica, soy fundadora de la organización Women in DataLab, desde donde trabajo para reducir la brecha de género en tecnología y ciencia de datos.\u003c/p\u003e\u003cp\u003eMe postulé al rOpenSci Champions Program porque creo firmemente en el poder de la ciencia abierta y el software reproducible para democratizar el conocimiento. Durante el programa, mi objetivo es perfeccionar mis capacidades en el desarrollo de herramientas en R y software científico bajo estándares globales. Con esta experiencia quiero fortalecer mi perfil técnico y actuar como un puente para que más investigadores en América Latina adopten prácticas colaborativas y abiertas, potenciando el impacto de nuestra comunidad científica a nivel internacional.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"josé-daniel-conejeros-pavez\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#jos%c3%a9-daniel-conejeros-pavez\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eJosé Daniel Conejeros Pavez\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/jose-conejeros.png\"\t\t\talt=\"Foto de perfil de José Daniel Conejeros Pavez\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eJosé Daniel Conejeros Pavez \u003c/br\u003e Lagrange Fellow, ISI Foundation \u003c/br\u003e Early Career Researcher, SENTINET - UC\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy José Daniel Conejeros, MSc en Estadística por la Pontificia Universidad Católica de Chile. Soy originario de Chile y actualmente desarrollo mi trabajo entre Chile e Italia, donde me desempeño como Lagrange Fellow en la ISI Foundation y como investigador joven en el Centro SENTINET (Vigilancia, epidemiología y nuevas tecnologías para amenazas infecciosas emergentes), trabajando en temas de ciencia de datos, sistemas complejos y salud pública.\u003c/p\u003e\u003cp\u003eMi trabajo se sitúa en la intersección entre estadística, epidemiología y ciencias sociales computacionales para comprender la dinámica de enfermedades infecciosas y resultados en salud para distintas poblaciones. En la actualidad, estoy desarrollando spatmask, un paquete en R orientado al enmascaramiento y anonimización de datos espaciales (geomasking), con el objetivo de permitir análisis reproducibles sin comprometer la privacidad de las personas. Este proyecto busca ser un aporte en la brecha existente entre el uso de datos sensibles para la investigación y las restricciones éticas y regulatorias que limitan su acceso y uso.\u003c/p\u003e\u003cp\u003eDecidí postular al Champions Program porque muchos de los desafíos que enfrento no son solo técnicos, sino también organizacionales y culturales. Entender cómo desarrollar software científico de manera colaborativa, cómo documentarlo correctamente y cómo fomentar prácticas reproducibles en contextos donde la ciencia abierta aún no está plenamente instalada. Me interesa aprender a construir herramientas que no solo funcionen, sino que sean comprensibles, auditables y útiles para equipos de investigación y tomadores de decisiones en Políticas Públicas.\u003c/p\u003e\u003cp\u003eA través de este programa, espero fortalecer mis capacidades en desarrollo de software científico, revisión abierta y trabajo colaborativo. Mi objetivo es que este aprendizaje se traduzca en transferencia concreta: formación, colaboración y construcción de comunidad en torno a la ciencia abierta en la región.\u003c/p\u003e\u003ch2 id=\"linda-cabrera-orellana\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#linda-cabrera-orellana\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLinda Cabrera Orellana\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/linda-cabrera-orellana.png\"\t\t\talt=\"Foto de perfil de Linda Cabrera Orellana\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eLinda Cabrera Orellana \u003c/br\u003e R-Ladies Ecuador\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola! Mi nombre es Linda, soy ecuatoriana y actualmente resido en Granada, España. Trabajo como Senior Data Analyst en una agencia de marketing digital y comparto mi experiencia como docente en escuelas de negocio, donde imparto clases sobre IA aplicada a la analítica y la visualización de datos.\u003c/p\u003e\u003cp\u003eMi proyecto consiste en desarrollar un paquete de R con enfoque educativo para detectar, explicar y ayudar a corregir errores estructurales comunes en datasets creados manualmente, especialmente pensado para personas sin formación técnica en datos.Me presento al programa porque quiero convertir mi experiencia práctica y docente en una contribución real al ecosistema de software científico abierto, y fortalecer mis habilidades en diseño, documentación y mantenimiento de paquetes de R.\u003c/p\u003e\u003cp\u003eEspero también que el proyecto sirva como recurso educativo en universidades de Ecuador y en la comunidad de R-Ladies, y que tienda un puente entre quienes recolectan datos y quienes los analizan, promoviendo la alfabetización en datos en español.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"maría-florencia-tames\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mar%c3%ada-florencia-tames\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMaría Florencia Tames\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/maria-tames.png\"\t\t\talt=\"Foto de perfil de María Florencia Tames\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMaría Florencia Tames \u003c/br\u003e Universidad Nacional de Córdoba \u003c/br\u003e Argentina\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMi nombre es María Florencia Tames, soy docente en la Universidad Nacional de Córdoba (Argentina) y trabajo en investigación en el área de calidad del aire, la exposición a contaminantes atmosféricos y las desigualdades ambientales en contextos urbanos de América Latina.\u003c/p\u003e\u003cp\u003eDesarrollé junto a un equipo el paquete AirExposure, una herramienta en R orientada a estimar la exposición diaria a contaminantes del aire integrando información sobre concentraciones ambientales, movilidad y rutinas diarias. A través del Programa de Campeon(a|e)s de rOpenSci, mi objetivo es mejorar y consolidar este paquete como una herramienta abierta, reproducible y accesible para la comunidad.\u003c/p\u003e\u003cp\u003eMe interesa especialmente fortalecer mis habilidades en el desarrollo de software abierto, incorporar buenas prácticas como documentación, testing y revisión por pares, y aprender a construir herramientas que puedan ser utilizadas más allá de su contexto original de investigación.\u003c/p\u003e\u003cp\u003eTambién me motiva el enfoque del programa en la comunidad y en el trabajo en español, ya que muchas veces el acceso a recursos y formación en programación está limitado por el idioma. Espero poder compartir lo aprendido a través de actividades de formación y contribuir al desarrollo de una comunidad de software científico abierto en América Latina.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"marina-cecilia-cock\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#marina-cecilia-cock\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMarina Cecilia Cock\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/marina-cecilia-cock.JPG\"\t\t\talt=\"Foto de perfil de Marina Cecilia Cock\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMarina Cecilia Cock \u003c/br\u003e INCITAP (CONICET-UNLPam) \u003c/br\u003e Universidad Nacional de La Pampa\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy de Santa Rosa, La Pampa, Argentina. Soy Ingeniera en Recursos Naturales y Medio Ambiente de la Universidad Nacional de La Pampa (UNLPam) y Dra. en Ciencias Agrarias con orientación en Ecología de la Universidad de Buenos Aires (UBA).\u003c/p\u003e\u003cp\u003eActualmente me desempeño como profesional asistente de investigación en el Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) y como auxiliar docente en Biogeografía y Estadística en la Universidad Nacional de La Pampa.\u003c/p\u003e\u003cp\u003eMe presenté al programa para aprender sobre el proceso de revisión de paquetes de R. Me interesa participar porque considero especialmente valioso integrarme a una comunidad donde el aprendizaje sea compartido y colaborativo. Busco fortalecer mi conocimiento en R y luego poder transmitirlo tanto en mi rol docente como dentro de la comunidad de R.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"patricia-andrea-loto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#patricia-andrea-loto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePatricia Andrea Loto\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/patricia-loto.jpg\"\t\t\talt=\"Foto de perfil de Patricia Andrea Loto\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003ePatricia Andrea Loto \u003c/br\u003e FACENA, Universidad Nacional del Nordeste (UNNE)\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy Licenciada en Sistemas de Información y Diplomada en Ciencia de Datos, Aprendizaje Automático y sus Aplicaciones. Actualmente curso una Maestría en Tecnologías de la Información en la Universidad Nacional del Nordeste. Vivo y trabajo en Argentina.\u003c/p\u003e\u003cp\u003eMe desempeño como desarrolladora de software y analista de datos en el sector público, y como docente universitaria en el área de sistemas y programación. Soy co-fundadora de RSE Argentina, miembro del comité organizador de LatinR y co-organizadora de R-Ladies Resistencia-Corrientes. Desde estos espacios trabajo para promover la ciencia abierta, el software de investigación reproducible y la inclusión en tecnología en Latinoamérica.\u003c/p\u003e\u003cp\u003eEn la cohorte 2026 participo como mentee, con la guía de Guadalupe Pascal. Mi proyecto es un paquete de R para sistematizar la creación de Planes de Gestión de Software y Datos mediante plantillas estandarizadas desarrolladas con Quarto, que faciliten la documentación, preservación y reutilización de datos y código científico bajo estándares internacionales de ciencia abierta.\u003c/p\u003e\u003cp\u003ePostulé al programa de campeones porque lo veo como un puente: entre donde estoy técnicamente y donde quiero estar. Espero aprender sobre el proceso de revisión por pares de rOpenSci, profundizar en testing, documentación técnica y todo lo que hace que un paquete sea realmente útil para otros. También busco conectarme con una red de desarrolladores e investigadores que compartan valores de ciencia abierta. Finalmente, quiero que el software de investigación desarrollado desde el Sur Global tenga mayor visibilidad y que nuestras contribuciones sean reconocidas, creo que rOpenSci es la plataforma ideal para eso.\u003c/p\u003e\u003ch2 id=\"estefania-torrejón\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#estefania-torrej%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEstefania Torrejón\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/estefania-torrejon.png\"\t\t\talt=\"Foto de perfil de Estefania Torrejón\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eEstefania Torrejón \u003c/br\u003e NOVA Medical School. Lisboa, Portugal\u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy peruana y bióloga egresada de la Universidad Nacional Mayor de San Marcos (UNMSM), con una maestría en Ciencias Biomédicas por el Instituto de Higiene y Medicina Tropical (IHMT) de Lisboa, Portugal. Actualmente resido en Portugal, donde me desempeño como investigadora predoctoral en bioinformática en el Metabolic Diseases Research Lab de NOVA Medical School. Asimismo, soy directora del Departamento de Relaciones Internacionales de la Sociedad Peruana de Bioinformática y Biología Computacional.\u003c/p\u003e\u003cp\u003eEl proyecto que desarrollo en el marco del programa de campeones de rOpenSci consiste en la preparación y envío de mi paquete de R, EV-Net, al repositorio CRAN. EV-Net es una herramienta bioinformática que permite identificar y priorizar moléculas presentes en la carga de vesículas extracelulares (EVs) con alto potencial regulador sobre un tejido receptor de interés. Las EVs son estructuras rodeadas por una bicapa lipídica que transportan una gran diversidad de moléculas activas. Estas vesículas pueden desplazarse a través del organismo y alcanzar tejidos específicos, por lo que han sido reconocidas como mediadoras clave de la comunicación célula a célula (CCC). Sin embargo, la mayoría de las herramientas bioinformáticas disponibles para estudiar la CCC no consideran la comunicación mediada por EVs. Para abordar esta limitación, desarrollamos EV-Net junto con mis colaboradores y supervisores.\u003c/p\u003e\u003cp\u003eSer Campeona de rOpenSci representa para mí una oportunidad invaluable para recibir la capacitación, el acompañamiento y la mentoría necesarios para que EV-Net cumpla con los estándares de calidad exigidos y pueda ser incorporado exitosamente en CRAN.\u003c/p\u003e\u003ch2 id=\"siguientes-pasos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#siguientes-pasos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSiguientes pasos\u003c/h2\u003e\u003cp\u003eCon la presentación de este nuevo grupo de Campeon(e|a)s, damos inicio a la cuarta edición del programa, la segunda en español. Este grupo ya inició la etapa de capacitación y conocieron a sus mentores y mentoras. Estarán trabajando durante 12 meses en desarrollar nuevos paquetes, preparar paquetes existentes para enviar al proceso de revision por pares y revisando paquetes de otras personas.\u003c/p\u003e\u003cp\u003eSi quieres seguir el desarrollo de sus proyectos y donde y cuando ocurrirán sus actividades de divulgación y comunicación, no te pierdas nuestros artículos en el blog, las novedades en nuestro newsletter y redes sociales.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/06/09/champions-2026/","date_published":"2026-06-09T00:00:00+00:00","date_modified":"2026-06-09T18:25:22-03:00"},{"id":"https://doi.org/10.59350/49hew-fh96","title":"Nuevo equipo de mentor(a|e)s con experiencia y nuevas voces","language":"es","authors":[{"name":"Alber Hamersson Sánchez Ipia","url":"https://ropensci.org/es/author/alber-hamersson-s%C3%A1nchez-ipia/","avatar":"https://github.com/albhasan.png","_role":["author"]},{"name":"Andrea Gomez Vargas","url":"https://orcid.org/0009-0007-8745-3967","avatar":"https://github.com/SoyAndrea.png","_role":["author"]},{"name":"Elio Campitelli","url":"https://ropensci.org/es/author/elio-campitelli/","avatar":"https://ropensci.org/img/team/elio-campitelli.jpg","_role":["author"]},{"name":"Erick Navarro Delgado","url":"https://orcid.org/0000-0003-1040-3519","avatar":"https://github.com/ErickNavarroD.png","_role":["author"]},{"name":"Francisco Cardozo","url":"https://orcid.org/0000-0002-1925-4954","avatar":"https://github.com/focardozom.png","_role":["author"]},{"name":"Guadalupe Pascal","url":"https://ropensci.org/es/author/guadalupe-pascal/","avatar":"https://github.com/guadapascal.png","_role":["author"]},{"name":"Luis D. Verde Arregoitia","url":"https://ropensci.org/es/author/luis-d.-verde-arregoitia/","avatar":"https://github.com/luisDVA.png","_role":["author"]},{"name":"Monika Avila Marquez","url":"https://orcid.org/0009-0004-7720-6135","avatar":"https://github.com/monikavila.png","_role":["author"]},{"name":"Pablo Paccioretti","url":"https://ropensci.org/es/author/pablo-paccioretti/","avatar":"https://github.com/PPaccioretti.png","_role":["author"]},{"name":"Pao Corrales","url":"https://orcid.org/0000-0003-1923-9129","avatar":"https://ropensci.org/img/team/paola-corrales.png","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["programa campeones","mentoria","comunidad"],"content_html":"\u003cp\u003e¡Nos alegra presentar al nuevo equipo de mentor(a|e)s del programa de Campeon(e|a)s de rOpenSci 2026! Este año contamos con once personas comprometidas con la ciencia abierta, que suman una rica diversidad de trayectorias y perspectivas. El equipo está integrado por personas que se unen al programa por primera vez, por ex campeon(a|e)s que regresan ahora en el rol de mentoras y mentores, y por mentores con experiencia en ediciones anteriores que vuelven para seguir fortaleciendo esta comunidad.\u003c/p\u003e\u003cp\u003eEstas personas provienen de distintas disciplinas y países y son voces activas en la comunidad de R en América Latina y más allá. Con su acompañamiento, el nuevo grupo de Campeon(e|a)s no solo desarrollará sus proyectos, sino que también crecerá como líderes en ciencia abierta y desarrollo de software de investigación.\u003c/p\u003e\u003ch2 id=\"nuevos-mentores\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#nuevos-mentores\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNuevos mentores\u003c/h2\u003e\u003ch3 id=\"alber-hamersson-sánchez-ipia\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#alber-hamersson-s%c3%a1nchez-ipia\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAlber Hamersson Sánchez Ipia\u003c/h3\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/alber-sanchez.jpg\"\t\t\talt=\"Foto de perfil de Alber Hamersson Sánchez Ipia\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eAlber Hamersson Sánchez Ipia \u003c/br\u003e Instituto Nacional de Investigación Espacial del Brasil \u003c/br\u003e rOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Soy Alber y voy a ser mentor de rOpenSci de este año.\u003c/p\u003e\u003cp\u003eNací en Colombia, en el departamento del Cauca, en una de las regionesmás montañosas del país, llamada Tierradentro. Soy ingeniero Catastral yGeodesta de la Universidad Distrital Francisco José de Caldas enColombia, en donde hice una maestría en Ciencias de la Información y lasComunicaciones; adicionalmente, hice otra maestría en GeoInformática enla Universidad de Münster, en Alemania, y después hice un doctorado enCiencia del Sistema Terrestre, en el Instituto Nacional de InvestigaciónEspacial del Brasil (INPE). Actualmente, vivo y trabajo en Brasil y medesempeño como asistente de investigación en el mismo INPE.\u003c/p\u003e\u003cp\u003eParte de mi trabajo diario consiste en escribir código en R paraprocesar datos espaciales y asegurar la reproducibilidad de losresultados de experimentos científicos, por lo que estoy familiarizadocon el desarrollo de paquetes de R. Adicionalmente, soy coautor delpaquete segmetric, el cual se encuentra actualmente disponible en CRAN,y hago mantenimiento de una de las lecciones de Data Carpentry,específicamente la de introducción a R para datos geoespaciales.\u003c/p\u003e\u003cp\u003eMe interesa compartir el conocimiento y la experiencia que he acumuladohasta ahora con quien vaya a escribir software científico o estadístico,particularmente en español. Por este motivo me uno al rOpenSci, dondeespero ser parte y ayudar a formar una comunidad de desarrolladorescientíficos.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch3 id=\"pablo-paccioretti\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pablo-paccioretti\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePablo Paccioretti\u003c/h3\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/pablo-paccioretti.jpg\"\t\t\talt=\"Foto de perfil de Pablo Paccioretti\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003ePablo Paccioretti \u003c/br\u003e Universidad Nacional de Córdoba (UNC) \u0026amp; CONICET, Argentina \u003c/br\u003e rOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! soy Pablo, Ingeniero Agrónomo y Doctor por la Universidad Nacional de Córdoba (Argentina), donde me desempeño como investigador y docente. Desde mis años de estudiante me interesó la Estadística, lo que orientó mi trabajo hacia el análisis de datos. En particular, aplico y desarrollo metodologías y herramientas de software para analizar datos georreferenciados provenientes de ensayos a campo y plataformas de monitoreo agrícola.\u003c/p\u003e\u003cp\u003eMe interesa el desarrollo de herramientas abiertas para el procesamiento y análisis de datos. He desarrollado software científico, incluyendo paquetes de R orientados al análisis de datos georreferenciados.\u003c/p\u003e\u003cp\u003eMi participación en el Programa de Campeones surge del interés por fortalecer los vínculos entre el análisis de datos aplicado y la programación, promoviendo buenas prácticas en ambas áreas. A través de este programa espero contribuir a la comunidad compartiendo experiencias y recursos, y al mismo tiempo aprender de otros profesionales que trabajan en distintos contextos y disciplinas.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"de-campeonaes-a-mentoraes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#de-campeonaes-a-mentoraes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDe campeon(a|e)s a mentor(a|e)s\u003c/h2\u003e\u003ch3 id=\"erick-navarro-delgado\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#erick-navarro-delgado\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eErick Navarro Delgado\u003c/h3\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/erick-navarro-delgado.jpg\"\t\t\talt=\"Foto de perfil de Erick Navarro Delgado\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eErick Navarro Delgado \u003c/br\u003e The University of British Columbia \u003c/br\u003e rOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Mi nombre es Erick Navarro, y soy licenciado en biología por la Universidad Nacional Autónoma de México, y candidato a Doctor en Bioinformática en The University of British Columbia. Nací y crecí en la Ciudad de México, pero actualmente vivo en Vancouver, Canadá. Mi línea de investigación está enfocada en desarrollar herramientas computacionales para entender cómo los factores genéticos y exposiciones ambientales/experiencias vividas actúan de forma conjunta o separada para moldear nuestro panorama molecular.\u003c/p\u003e\u003cp\u003eMe entusiasma participar en el programa de rOpenSci porque creo que la ciencia abierta y accesible es esencial para conducir investigación relevante cuyos resultados beneficien a todas los personas en nuestra sociedad. En este programa espero conectar con nuevos miembros de la comunidad de ciencia abierta, compartir mis conocimientos de programación, e impulsar el desarrollo de software en Latinoamérica.\u003c/p\u003e\u003c/br\u003e\u003ch3 id=\"guadalupe-pascal\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#guadalupe-pascal\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGuadalupe Pascal\u003c/h3\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/guadalupe-pascal.jpg\"\t\t\talt=\"Foto de perfil de Guadalupe Pascal\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eGuadalupe Pascal \u003c/br\u003e UNLZ-UCA-UGR \u003c/br\u003erOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Mi nombre es Guadalupe.\u003c/p\u003e\u003cp\u003eSoy investigadora y coordinadora de proyectos en optimización y ciencia de datos para la toma de decisiones en sistemas sociales, con una perspectiva transfeminista, de ciencia abierta y con mirada regional. También soy profesora asociada de optimización y métodos cuantitativos (UNLZ-UCA) y profesora en cursos de ciencia de datos e inteligencia artificial (UGR). Soy máster en Ingeniería en Sistemas de Decisión por la URJC (España) e ingeniera industrial por la UNLZ (Argentina), estudiante de doctorado en Tecnologías de la Información e Ingeniería (URJC-UNLZ), diplomada en Géneros y Sociedad (UNLZ), diplomada en Neurociencia Cognitiva (Neurotransmitiendo) y diplomada en Educación en la Era de la Inteligencia Artificial (UMET). Formo parte de la Cátedra Abierta Latinoamericana Matilda y las mujeres en ingeniería, como miembro fundadora y referente de la Red de Género de las Facultades de Ingeniería de Argentina.\u003c/p\u003e\u003cp\u003eActualmente también formo parte de la comunidad de rOpenSci como campeona de la cohorte 2025-2026, y me entusiasma mucho ser mentora del presente programa por diversos motivos. Por un lado, debido a la profunda gratificación que me brinda estar comprometida con la cohorte actual. Desde una mirada sencilla, la calidad y la rigurosidad con que se implementa el programa en todas sus instancias tienen impactos directos en la calidad y la rigurosidad de mi propio trabajo. Y desde una mirada integral, eso constituye una evidencia sumamente valiosa y contundente para recordar la sinergia de las comunidades de práctica en el desarrollo de habilidades y en la producción de conocimientos situados: el programa de campeones de rOpenSci es un ejemplo concreto y real de que en las comunidades se comparten saberes y, fundamentalmente, valores, perspectivas y aprendizajes encarnados. Por otro lado, me ilusiona el desafío que supone para mí ser mentora en este programa, porque, si bien es un rol que ya he desempeñado en otros entornos, nunca lo he hecho en el desarrollo de un paquete en R de otra persona. Por último, me gustaría trabajar en este rol para compartir en comunidad las experiencias que he tenido como mentora y mentee. Creo que acompañarnos en un proceso formativo y transformador es una de las dimensiones más humanas de este ecosistema en el que trabajamos.\u003c/p\u003e\u003c/br\u003e\u003ch3 id=\"andrea-gomez-vargas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#andrea-gomez-vargas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAndrea Gomez Vargas\u003c/h3\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/andrea-vargas.png\"\t\t\talt=\"Foto de perfil de Andrea Gomez Vargas\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eAndrea Gomez Vargas \u003c/br\u003e INDEC \u003c/br\u003e R-Ladies, rOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy colombiana de origen y argentina por elección, donde hoy vivo, desarrollo mi carrera y participo activamente en la comunidad de R. Soy socióloga y trabajo en la oficina nacional de estadística de Argentina, en el área de estadísticas sociales, donde analizo información sobre la población para comprender desigualdades y condiciones de vida.\u003c/p\u003e\u003cp\u003eLa comunidad de R es mi espacio favorito para compartir conocimiento y construir colectivamente. Actualmente soy co-organizadora de \u003ca href=\"https://renbaires.github.io/\"\u003eR en Buenos Aires\u003c/a\u003e y \u003ca href=\"https://rse-argentina.github.io/\"\u003eRSE Argentina\u003c/a\u003e, y además participo en iniciativas como R-Ladies, LatinR y rOpenSci, contribuyendo al fortalecimiento de redes a nivel local, regional y global,  promoviendo el aprendizaje y uso de herramientas abiertas en ciencia de datos.\u003c/p\u003e\u003cp\u003eFui \u003ca href=\"/es/blog/2025/05/15/puentes-comunidades-campeones-ropensci/\"\u003eCampeona en la cohorte 2023–2024\u003c/a\u003e, donde desarrollé \u003ca href=\"https://soyandrea.github.io/arcenso/\"\u003e{ARcenso}, un paquete que facilita el acceso a datos censales históricos de Argentina\u003c/a\u003e. Me motiva continuar en el programa como mentora para seguir impulsando el conocimiento abierto y acompañar a otras personas en el desarrollo de proyectos con impacto en sus comunidades.\u003c/p\u003e\u003c/br\u003e\u003ch3 id=\"monika-ávila-márquez\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#monika-%c3%a1vila-m%c3%a1rquez\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMonika Ávila Márquez\u003c/h3\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/monika-avila-marquez.jpeg\"\t\t\talt=\"Foto de perfil de Monika Ávila Márquez\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMonika Ávila Márquez \u003c/br\u003e Universidad de Ginebra \u003c/br\u003e R-Ladies, rOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola, soy Monika, investigadora postdoctoral en estadística en la Universidad de Ginebra, donde trabajo en métodos de inferencia causal y aprendizaje automático para datos de panel. Tengo un doctorado en econometría y mi investigación se enfoca en el desarrollo de estimadores semiparamétricos que combinan técnicas de machine learning con fundamentos econométricos para la estimación de modelos de datos de panel. También trabajo en la selección de modelos de efectos mixtos y en inferencia causal con interferencia.\u003c/p\u003e\u003cp\u003eSoy co-organizadora del capítulo de R-Ladies Ginebra, donde me esfuerzo por construir una comunidad de práctica inclusiva para personas que usan R en la investigación.\u003c/p\u003e\u003cp\u003eParticipo como mentora en este programa porque quiero retribuir todo lo que rOpenSci me ha dado. Esta comunidad me ha acompañado en mi desarrollo profesional —como fuente de recursos, como espacio de aprendizaje y como ejemplo de lo que significa hacer ciencia abierta con rigor y generosidad. Hoy tengo la oportunidad de ofrecer ese mismo acompañamiento a otras personas, y eso me entusiasma profundamente.\u003c/p\u003e\u003c/br\u003e\u003ch2 id=\"mentoraes-que-regresan\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mentoraes-que-regresan\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMentor(a|e)s que regresan\u003c/h2\u003e\u003ch3 id=\"luis-d-verde-arregoitia\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#luis-d-verde-arregoitia\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLuis D. Verde Arregoitia\u003c/h3\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/luis-verde.jpeg\"\t\t\talt=\"Foto de perfil de Luis D. Verde Arregoitia\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eLuis D. Verde Arregoitia\u003c/br\u003eInstituto de Ecología AC - INECOL\u003c/br\u003eLatinR, rOpenSci, The Carpentries\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola, soy Luis D. Verde Arregoitia, mexicano viviendo en Xalapa, México. Biólogo y Doctor en Ciencias Biológicas. Soy especialista en mamíferos con experiencia en programación R para el análisis de datos, visualización y modelado estadístico. También soy instructor certificado y autor de varios paquetes.\u003c/p\u003e\u003cp\u003eFui mentor en dos cohortes anteriores del programa donde ha apoyado a desarrolladores de software en de América Latina y regreso con mucho entusiasmo a esta nueva cohorte.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003ch3 id=\"pao-corrales\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pao-corrales\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePao Corrales\u003c/h3\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/paola-corrales.png\"\t\t\talt=\"Foto de perfil de Pao Corrales\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003ePao Corrales\u003c/br\u003eAustralian National University \u0026amp; 21st century weather CoE \u003c/br\u003e R-Ladies, LatinR, rOpenSci, The Carpentries, RForwards \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eTengo un doctorado en Ciencias Atmosféricas por la Universidad de Buenos Aires (Argentina) y actualmente trabajo en Australia para el \u003cem\u003e21st Century Weather Centre\u003c/em\u003e como ingeniera de software de investigación.\u003c/p\u003e\u003cp\u003eParticipo activamente en R-Ladies, R Forwards, The Carpentries, LatinR y rOpenSci, aprendiendo y compartiendo conocimientos sobre R en la comunidad. En 2023 participé en el Programa de Campeones como Campeona, presentando el paquete agroclimatico al proceso de revisión por pares de rOpenSci. Aprendí mucho y conecté con gente de todo el mundo. ¡Fue una experiencia excelente!\u003c/p\u003e\u003cp\u003eMe apasiona enseñar y ayudar a otras personas a crecer en lo que hacen, a acceder a nuevas oportunidades y a desarrollarse profesionalmente y como personas. Estoy muy contenta de participar de nuevo este año como mentora en el Programa de Campeones de América Latina.\u003c/p\u003e\u003ch3 id=\"francisco-cardozo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#francisco-cardozo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFrancisco Cardozo\u003c/h3\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/francisco-cardozo.jpg\"\t\t\talt=\"Foto de perfil de Francisco Cardozo\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eFrancisco Cardozo\u003c/br\u003e[Afiliacion universidad] \u003c/br\u003e rOpenSci - The Carpentries\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMe llamo Francisco Cardozo. Soy originario de Colombia y vine a Estados Unidos para cursar mis estudios de doctorado. Actualmente trabajo en la Universidad de Miami como investigador posdoctoral en el centro de investigación IMPAC, una institución dedicada a ampliar nuestros conocimientos sobre el desarrollo de los adolescentes. He participado en el Programa de Campeon(a|e)s de rOpenSci en varias ocasiones. Gran parte de mi labor profesional se ha centrado en el diseño de investigaciones y la aplicación de métodos estadísticos, especialmente mediante el uso del entorno de software R.\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/p\u003e\u003ch3 id=\"milagros-mendoza\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#milagros-mendoza\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMilagros Mendoza\u003c/h3\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/milagros-mendoza.jpeg\"\t\t\talt=\"Foto de perfil de Milagros Mendoza\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMilagros Mendoza \u003c/br\u003e Universidade Federal Rural de Pernambuco\u003c/br\u003e R-Ladies Natal, rOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola mi nombre es Milagros, soy ecóloga y estadística, motivada por comprender los sistemas complejos que entrelazan la naturaleza, la sociedad y los datos. A lo largo de mi trayectoria, he trabajado con información interdisciplinar en el campo de clima, demografia y ecologia, buscando siempre traducirla en conocimiento que dialogue con la realidad y aporte a decisiones más conscientes. Actualmente realizo un posdoctorado en el Instituto Tecnológico Vale, en Brasil, donde formo parte del grupo de investigación en territorios y recursos naturales.\u003c/p\u003e\u003cp\u003eDecidí desempeñarme como mentora en Ropensciene porque me siento motivada en contribuir a que más personas desarrollen confianza en el uso de herramientas científicas, consoliden su pensamiento crítico y se posicionen activamente dentro de la comunidad académica. En este sentido, concibo la mentoría como un espacio formativo orientado al diálogo y al crecimiento mútuo.\u003c/p\u003e\u003ch3 id=\"elio-campitelli\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#elio-campitelli\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eElio Campitelli\u003c/h3\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/elio-campitelli.jpg\"\t\t\talt=\"Foto de perfil de Elio Campitelli\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eElio Campitelli \u003c/br\u003e Monash University - rOpenSci\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy de Argentina pero hace dos años me mudé a Australia porque es el único otro país que empieza con A y usa el mismo tipo de enchufe.\u003c/p\u003e\u003cp\u003eEstoy haciendo un postdoc en la Universidad de Monash investigando interacciones entre el hielo marino de la Antártida y la atmósfera.\u003c/p\u003e\u003cp\u003eYa fui mentore en ediciones anteriores del programa. Fue una experiencia genial que quiero repetir una vez más.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"lo-que-viene\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lo-que-viene\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLo que viene\u003c/h2\u003e\u003cp\u003eEstamos felices de contar con este equipo diverso y talentoso de mentores y mentoras, que encarna los valores de colaboración y compromiso con el crecimiento colectivo. Su acompañamiento será clave para que los y las nuevas Campeon(a|e)s puedan llevar adelante sus ideas y proyectos, y contribuir al desarrollo de una comunidad de ciencia abierta más fuerte y diversa.\u003c/p\u003e\u003cp\u003eYa hemos terminado de seleccionar a los Campeonas y Campeones y estaremos anunciándoles próximamente.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/05/26/mentoras_es-2026/","date_published":"2026-05-26T00:00:00+00:00","date_modified":"2026-05-06T13:30:08-03:00"},{"id":"https://doi.org/10.59350/5e9pe-sym61","title":"rOpenSci Dev Guide 1.0.0: Trilingüe y mejorada","language":"es","authors":[{"name":"Mark Padgham","url":"https://orcid.org/0000-0003-2172-5265","avatar":"https://ropensci.org/img/team/mark-padgham.jpg","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator"]}],"tags":["Software Peer Review","dev guide","multilingual"],"content_html":"\u003cp\u003eLas orientaciones de rOpenSci para realizar la revisión de software por pares se recopilan en un \u003ca href=\"https://devguide.ropensci.org/booknews\"\u003elibro en línea\u003c/a\u003e ¡que sigue mejorando!Este artículo resume las novedades de nuestra Guía de Desarrollo 1.0.0, incluyendo todos los cambios enumerados en la sección de \u003ca href=\"https://devguide.ropensci.org/booknews.html\"\u003eregistro de cambios\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"ahora-disponible-en-portugués\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ahora-disponible-en-portugu%c3%a9s\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAhora disponible en portugués.\u003c/h2\u003e\u003cp\u003e¡Nuestra guía es ahora trilingüe (\u003ca href=\"https://devguide.ropensci.org/index.html\"\u003einglés\u003c/a\u003e, \u003ca href=\"https://devguide.ropensci.org/es/index.es.html\"\u003eEspañol\u003c/a\u003e, \u003ca href=\"https://devguide.ropensci.org/pt/index.pt\"\u003ePortugués\u003c/a\u003e)!\u003c/p\u003e\u003cp\u003eSi quieres saber más sobre el impresionante proyecto de traducción al portugués, iniciado e impulsado por las personas lusófonas que integran nuestra comunidad, visita nuestro \u003ca href=\"/blog/2025/11/25/translation-devguide-pt/\"\u003eartículo sobre el tema\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eEl proyecto de traducción y mantenimiento multilingüe en curso utiliza nuestro \u003ca href=\"https://docs.ropensci.org/babelquarto/\"\u003epaquete babelquarto\u003c/a\u003e para producir libros y sitios web Quarto multilingües.Recientemente \u003ca href=\"https://github.com/ropensci/software-review/issues/720\"\u003erevisado por pares\u003c/a\u003e por Ella Kaye y João Granja-Correia.\u003c/p\u003e\u003cp\u003eEstamos trabajando activamente en nuestro \u003ca href=\"https://docs.ropensci.org/babeldown/\"\u003epaquete babeldown\u003c/a\u003e para crear y actualizar traducciones utilizando la API DeepL.\u003c/p\u003e\u003cp\u003eEn la \u003ca href=\"https://github.com/ropensci/dev_guide/pull/940/files\"\u003eguía de desarrollo\u003c/a\u003e también se mencionan herramientas útiles para internacionalizar \u003cem\u003epaquetes\u003c/em\u003e: \u003ca href=\"https://michaelchirico.github.io/potools/\"\u003epotools\u003c/a\u003e el paquete experimental \u003ca href=\"https://eliocamp.github.io/rhelpi18n/\"\u003erhelpi18n\u003c/a\u003e y la selección de un \u003ca href=\"https://pkgdown.r-lib.org/articles/translations.html\"\u003eidioma\u003c/a\u003e para un sitio web pkgdown.\u003c/p\u003e\u003ch2 id=\"actualizaciones-de-políticas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#actualizaciones-de-pol%c3%adticas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eActualizaciones de políticas\u003c/h2\u003e\u003cp\u003eHemos realizado algunos cambios en las políticas y el alcance de la revisión por pares:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eNueva categoría para \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_policies.es.html#package-categories#:~:text=herramientas%20internas%20de%20rOpenSci\"\u003eHerramientas internas y de revisión por pares de rOpenSci\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eActualizaciones de la \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_policies.es.html#package-categories#:~:text=recuperaci%C3%B3n%20de%20datos\"\u003ecategoría de recuperación de datos\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eNueva regla explícita para \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_author.es.html#lifecycle#:~:text=no%20env%C3%ADes%20varios\"\u003epresentar un paquete a la vez\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eNuevo requisito para no llamar a la \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#version-control#:~:text=El%20nombre%20de%20rama%20por%20defecto%20no%20debe%20ser%20master\"\u003erama por defecto \u0026ldquo;master\u0026rdquo;\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eEliminado el requisito de utilizar un \u003ccode\u003ecodemeta.json\u003c/code\u003e ya obsoleto. Codemeta sigue siendo \u003ca href=\"https://codemeta.github.io/\"\u003eutilizado y desarrollado activamente\u003c/a\u003e pero hemos descubierto que es redundante con otros metadatos y Codemeta puede generar estos datos según sea necesario a partir de archivos DESCRIPTION.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"guía-para-equipos-editorial-guía-para-revisión-y-guía-para-autores-y-autoras-de-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#gu%c3%ada-para-equipos-editorial-gu%c3%ada-para-revisi%c3%b3n-y-gu%c3%ada-para-autores-y-autoras-de-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGuía para equipos editorial, guía para revisión y guía para autores y autoras de paquetes\u003c/h2\u003e\u003cp\u003eLas guías que viven en nuestra guía :smile\u003cbr\u003eLa \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_editor.es.html\"\u003eguía para el equipo editorial\u003c/a\u003e se ha reestructurado para seguir el flujo típico de los envíos,y para explicar mejor cómo utilizar el \u003ca href=\"https://dashboard.ropensci.org/\"\u003epanel de revisión de software\u003c/a\u003e.Hemos añadido una sección sobre retos y hemos documentado cómo poner el sistema en \u0026ldquo;modo vacaciones\u0026rdquo; (lo que solemos hacer durante el periodo de las fiestas de fin de año).\u003c/p\u003e\u003cp\u003eAsimismo, mejoramos la organización y el contenido del \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_author.es.html\"\u003eguía para autores y autoras\u003c/a\u003e (gracias a \u003ca href=\"https://github.com/robitalec\"\u003eAlec Robitaille\u003c/a\u003e y \u003ca href=\"https://github.com/jmaspons\"\u003eJoan Maspons\u003c/a\u003e).\u003c/p\u003e\u003cp\u003eEn la \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_reviewer.es.html\"\u003eguía de revisión\u003c/a\u003e eliminamos el enlace a la guía de revisión de Mozilla (una de nuestras primeras fuentes de diseño para nuestro proceso) porque ya no se mantiene y enumeramos los elementos explícitamente.\u003c/p\u003e\u003ch2 id=\"mejores-prácticas-de-desarrollo-de-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mejores-pr%c3%a1cticas-de-desarrollo-de-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMejores prácticas de desarrollo de paquetes\u003c/h2\u003e\u003cp\u003eEn la guía de desarrollo de paquetes (¡otra guía dentro de la guía!), añadimos orientaciones para elegir \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#example-datasets\"\u003econjuntos de datos de ejemplo\u003c/a\u003e.Además, agregamos una sección para \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#external-software\"\u003epaquetes que incluyen software externo\u003c/a\u003e.La \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#licence\"\u003esección sobre licencias\u003c/a\u003e exige ahora explícitamente que se mencione a las personas autoras del código incluido.Por último, pero no por ello menos importante, la \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#pkgdependencies\"\u003esección sobre dependencias\u003c/a\u003e recomienda comprobar el estado de desarrollo de las dependencias.\u003c/p\u003e\u003cp\u003eTodo el libro ahora menciona el \u003ca href=\"https://posit-dev.github.io/air/\"\u003eCLI de Air\u003c/a\u003e cada vez que menciona el paquete styler, ya que Air puede considerarse su sucesor.\u003c/p\u003e\u003cp\u003eEn el capítulo sobre la evolución de los paquetes, añadimos orientaciones sobre \u003ca href=\"https://devguide.ropensci.org/es/maintenance_evolution.es.html#data-deprecate\"\u003ela eliminación de \u003cem\u003edatos\u003c/em\u003e\u003c/a\u003e y se explican los \u003ca href=\"https://devguide.ropensci.org/es/maintenance_evolution.es.html#renaming-packages\"\u003einconvenientes de renombrar un paquete muy utilizado\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"guía-de-pruebas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#gu%c3%ada-de-pruebas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGuía de pruebas\u003c/h2\u003e\u003cp\u003eHemos actualizado nuestras \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#testing\"\u003eorientaciones sobre pruebas (test)\u003c/a\u003e con\u003c/p\u003e\u003cul\u003e\u003cli\u003euna \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#testing#:~:text=tinytest\"\u003emención de tinytest\u003c/a\u003e como alternativa a testthat;\u003c/li\u003e\u003cli\u003euna nota sobre el mantenimiento de las pruebas escritas con testthat \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#testing#:~:text=autocontenidos\"\u003eautocontenidas\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"documentación-del-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#documentaci%c3%b3n-del-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDocumentación del paquete\u003c/h2\u003e\u003cp\u003eAgradecimientos especiales a \u003ca href=\"https://github.com/rmgpanw\"\u003eAlasdair Warwick \u003c/a\u003e hemos mejorado la documentación \u0026#x1f609; de nuestro sistema de creación de documentación, entre otras cosas:\u003c/p\u003e\u003cul\u003e\u003cli\u003eMás detalles sobre \u003ca href=\"https://devguide.ropensci.org/es/pkg_ci.es.html#rodocsci\"\u003easpectos técnicos\u003c/a\u003e de la creación de documentación para paquetes rOpenSci;\u003c/li\u003e\u003cli\u003eActualización de la \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#mathjax\"\u003eguía matemática\u003c/a\u003e tras la actualización de pkgdown.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTambién aclaramos diferentes estrategias para \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#:~:text=nord\"\u003edocumentar funciones internas\u003c/a\u003e gracias a \u003ca href=\"https://github.com/cforgaci\"\u003eClaudiu Forgaci\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"metadatos-e-información-del-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#metadatos-e-informaci%c3%b3n-del-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMetadatos e información del paquete\u003c/h2\u003e\u003cp\u003eHemos documentado más formas de reconocer a quienes colaboran:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003een el capítulo sobre \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es.html#authorship\"\u003eautoría\u003c/a\u003e agregando el \u003ca href=\"/blog/2025/05/09/ror/\"\u003eID del Registro de Organismos de Investigación (ROR)\u003c/a\u003e;\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003een el capítulo sobre \u003ca href=\"https://devguide.ropensci.org/es/maintenance_collaboration.es.html#attributions\"\u003ecolaboración\u003c/a\u003e con el \u003ca href=\"https://docs.ropensci.org/allcontributors/\"\u003epaquete allcontributors\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEste es un resumen de los cambios de la última versión de nuestro libro \u003ca href=\"https://devguide.ropensci.org\"\u003e\u0026ldquo;Paquetes rOpenSci: Desarrollo, mantenimiento y revisión por pares\u0026rdquo;\u003c/a\u003e.Agradecemos todas las contribuciones que han dado lugar a esta publicación.Ya estamos trabajando en la próxima versión.No dudes en ayudarnos a darle forma abriendo un \u003ca href=\"https://github.com/ropensci/dev_guide/issues\"\u003e\u003cem\u003eissue\u003c/em\u003e\u003c/a\u003e ¡!\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/03/02/r_open_sci_dev_guide_1_0_0_triling%C3%BCe_y_mejorada/","date_published":"2026-03-02T00:00:00+00:00","date_modified":"2026-03-02T11:07:41+01:00"},{"id":"https://doi.org/10.59350/eqy4c-8yz08","title":"Cómo sumar nuevas personas al mantenimiento de tu paquete","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator","author"]}],"tags":["desarrollo de paquetes","notas técnicas","maintenance","contributors","community"],"content_html":"\u003cp\u003eMantener un paquete de código abierto es un trabajo gratificante, pero también es \u003ca href=\"/es/blog/2023/02/07/what-does-it-mean-to-maintain-a-package/\"\u003e\u003cstrong\u003emucho\u003c/strong\u003e trabajo\u003c/a\u003e.La vida y las carreras cambian, los intereses cambian, y a veces simplemente no tienes tiempo o energía para seguir trabajando en tu paquete R (¡y no pasa nada!). \u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e ).Cuando eso ocurra, una de las cosas más responsables que puedes hacer por las personas que usuan tu paquete, \u003cem\u003ey\u003c/em\u003e por ti mismo, es \u003cstrong\u003ebuscar proactivamente alguien más que pueda sumarse a mantener el paquete.\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e¿Cómo puedo encontrar a una persona que quiera mantener mi paquete? es una pregunta que oímos mucho en rOpenSci.A lo largo de los años, hemos apoyado a los autores y autoras de paquetes de rOpenSci en esta transición, ayudándoles a ponerse en contacto con posibles personas interesadas en mantener, a aclarar las expectativas en torno a la función y a hacer que los traspasos sean más fluidos y sostenibles.\u003c/p\u003e\u003cp\u003eEn este post, compartimos consejos prácticos y estrategias para ayudarte a encontrar personas que puedan contribuir y, con el tiempo, hacerse cargo de tu paquete, basándonos en lo que hemos aprendido apoyando a quienes mantienen de paquetes que forman parte del conjunto de paquetes de rOpenSci.\u003c/p\u003e\u003ch2 id=\"empieza-pronto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#empieza-pronto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEmpieza pronto\u003c/h2\u003e\u003cp\u003eEl mejor momento para empezar a buscar nuevas personas que mantengan es mucho antes de que realmente la necesites, y el mejor lugar para buscar es entre las personas que ya colaboran y contribuyen a tu paquete.Por esta razón, es una buena idea que la planificación de la sucesión forme parte de tu estrategia de diseño y mantenimiento desde el principio.\u003c/p\u003e\u003cp\u003eRecomendamos contar con una \u003ca href=\"https://stats-devguide.ropensci.org/standards.html#G1_2\"\u003e\u0026ldquo;declaración del ciclo de vida\u0026rdquo;\u003c/a\u003e que describa la visión a mediano y largo plazo del mantenimiento y desarrollo del paquete.Pueden ser unas pocas frases en un \u003ccode\u003eCONTRIBUTING.md\u003c/code\u003e o en \u003ccode\u003eREADME.md\u003c/code\u003e que describa tus intenciones de desarrollo, incluido el tiempo que piensas mantener el paquete.Aunque el futuro sea incierto, esto ayuda a establecer expectativas claras, tanto a nivel personal como para posibles colaboraciones.\u003c/p\u003e\u003ch2 id=\"haz-que-el-paquete-sea-fácil-de-usar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#haz-que-el-paquete-sea-f%c3%a1cil-de-usar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eHaz que el paquete sea fácil de usar\u003c/h2\u003e\u003cp\u003eSi quieres atraer colaboradores que puedan convertirse en mantenedores a corto o largo plazo, tu paquete tiene que ser \u003cstrong\u003eaccesible\u003c/strong\u003e.Nuestra \u003ca href=\"https://devguide.ropensci.org/maintenance_collaboration.html\"\u003eGuia de desarrollo tiene un capítulo entero sobre cómo hacer que los paquetes sean aptos para recibir colaboraciones\u003c/a\u003e y también tenemos la \u003cem\u003eConversaciones con la Comunidad\u003c/em\u003e \u003ca href=\"/commcalls/apr2021-pkg-community/\"\u003e\u0026ldquo;Configura tu paquete para fomentar una comunidad\u0026rdquo;\u003c/a\u003e. Esencialmente, estos son algunos puntos clave a tener en cuenta.\u003c/p\u003e\u003cp\u003ePregúntate:\u003c/p\u003e\u003cul\u003e\u003cli\u003e¿Podría una persona nueva entender cómo construir, probar y publicar este paquete solo a partir del repositorio?\u003c/li\u003e\u003cli\u003e¿Hay suficiente documentación para que contribuir sea claro y se sienta amigable?\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eAñadir o mejorar las directrices de contribución es una forma estupenda de reducir las barreras para que alguien empiece a realizar tareas de mantenimiento, incluso antes de que asuma oficialmente el papel.Una buena \u003ccode\u003eCONTRIBUTING.md\u003c/code\u003e puede abarcar:\u003c/p\u003e\u003cul\u003e\u003cli\u003eCómo configurar un entorno de desarrollo.\u003c/li\u003e\u003cli\u003ePreferencias de flujo de trabajo: ¿ \u003cem\u003eIssue\u003c/em\u003e antes que \u003cem\u003ePull Request\u003c/em\u003e?\u003c/li\u003e\u003cli\u003eCómo prefieres recibir los \u003cem\u003ePull Request\u003c/em\u003e (por ejemplo, una funcionalidad por \u003cem\u003ePull Request\u003c/em\u003e, debe incluir pruebas, etc.).\u003c/li\u003e\u003cli\u003ePautas de estilo o formato del código.\u003c/li\u003e\u003cli\u003ePruebas y cómo ejecutarlas.\u003c/li\u003e\u003cli\u003eNotas sobre el proceso de publicación, incluidos \u003cem\u003escripts\u003c/em\u003e, flujos de trabajo CI o pasos manuales que sigas para publicar una nueva versión.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eCuanto más claramente tengas documentados tus procesos, más fácil le resultará a alguien decir \u0026ldquo;sí\u0026rdquo; al mantenimiento.\u003c/p\u003e\u003cp\u003eSegún el tiempo y la disponibilidad, también podés invertir activamente en acompañar el crecimiento de quienes colaboran, por ejemplo:\u003c/p\u003e\u003cul\u003e\u003cli\u003eAcompañar a quienes colaboran por primera vez en su primera \u003cem\u003epull request\u003c/em\u003e\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e .\u003c/li\u003e\u003cli\u003eOrganiza un \u003cem\u003e\u0026ldquo;bug bash\u0026rdquo;\u003c/em\u003e o un \u003cem\u003e\u0026ldquo;sprint de documentación\u0026rdquo;\u003c/em\u003e para fomentar las contribuciones. Nuestra \u003ca href=\"https://ftc-guide.ropensci.org\"\u003eguía sobre la organización de eventos para invitar nuevas contribuciones\u003c/a\u003e tiene recursos que te ayudarán a planificarlo.\u003c/li\u003e\u003cli\u003eDestaca las \u0026ldquo;Buen \u0026lsquo;primer \u003cem\u003eissue\u003c/em\u003e\u0026rsquo;\u0026rdquo; y \u003ca href=\"https://ropensci.org/es/blog/2023/09/19/help-wanted/\"\u003e\u0026quot;\u003cem\u003eIssues\u003c/em\u003e \u0026lsquo;se busca ayuda\u0026rsquo;\u0026quot;.\u003c/a\u003e en tu gestor de \u003cem\u003eissues\u003c/em\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEstas actividades ayudan a ampliar tu comunidad de personas que colaboran y que potencialmente pueden mantener en el futuro, pero serán más eficaces si empiezas mucho antes de decidir dejar de mantener el paquete, cuando aún tienes mucho tiempo y energía para invertir.\u003c/p\u003e\u003ch2 id=\"aclara-lo-que-estás-dispuestoa-a-hacer-y-lo-que-no\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#aclara-lo-que-est%c3%a1s-dispuestoa-a-hacer-y-lo-que-no\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAclara lo que estás dispuesto/a a hacer (y lo que no)\u003c/h2\u003e\u003cp\u003eQuienes puedan sumarse al mantenimiento probablemente se pregunten:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e¿Seguirás disponible para responder preguntas?\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e¿Mantendrás cierto nivel de control o lo cederás por completo? (es decir, ¿estás buscando acompañar el mantenimiento o hacer un traspaso total?)\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eAclaralo de forma explícita.Por ejemplo:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u0026ldquo;Puedo acompañar y estar disponible durante la transición, pero planeo retirarme por completo del mantenimiento una vez finalizada\u0026rdquo;.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u0026ldquo;Me retiro por completo del mantenimiento, pero puedo responder algunas preguntas durante la transición\u0026rdquo;.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u0026ldquo;Quiero hacer el traspaso completo y retirarme del mantenimiento lo antes posible\u0026rdquo;.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEstablecer límites claros ayuda a otras personas a decidir si desean sumarse y evita malentendidos más adelante.\u003c/p\u003e\u003ch2 id=\"abre-un-issue-se-busca-apoyo-para-el-mantenimiento\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#abre-un-issue-se-busca-apoyo-para-el-mantenimiento\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAbre un \u003cem\u003eissue\u003c/em\u003e: “Se busca apoyo para el mantenimiento”\u003c/h2\u003e\u003cp\u003eUna vez que hayas decidido buscar nuevas personas que colaboren o tomen por completo el mantenimiento y cómo piensas implicarte en el proyecto en el futuro, comunícalo claramente.Un primer paso visible es abrir un \u003cem\u003eissue\u003c/em\u003e en tu repositorio dedicada a este tema.\u003c/p\u003e\u003cp\u003eCrea una incidencia con un título claro, como por ejemplo “Se busca apoyo para el mantenimiento”, \u0026ldquo;Se buscan nuevas personas para mantener el paquete\u0026rdquo;, \u0026ldquo;Buscamos sumar colaboraciones para mantener el paquete\u0026rdquo;.\u003c/p\u003e\u003cp\u003eEn el cuerpo, puedes incluir:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eQué nivel de mantenimiento\u003c/strong\u003e se necesita (sólo corrección de errores, desarrollo de funciones, documentación, etc.).\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eLo que buscas\u003c/strong\u003e en una nueva persona que colabore/mantenga:\u003cul\u003e\u003cli\u003e¿Familiaridad con el lenguaje/ecosistema?\u003c/li\u003e\u003cli\u003e¿Experiencia con pruebas o CI?\u003c/li\u003e\u003cli\u003e¿Comodidad con la publicación de nuevas versiones?\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eCómo expresar interés\u003c/strong\u003e (comentar el tema, enviarte un correo electrónico, etc.).\u003c/li\u003e\u003cli\u003eCualquier \u003cstrong\u003ecronograma\u003c/strong\u003e que tengas en mente para la transición.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOpcionalmente, también puedes explicar \u003cem\u003ePor qué\u003c/em\u003e das un paso al costado (sin necesidad de mucho detalle: tiempo, interés, cambio de trabajo, etc.).\u003c/p\u003e\u003cp\u003eEste \u003cem\u003eissue\u003c/em\u003e se convierte en el lugar central para debatir los cambios de propiedad y puede servir posteriormente como registro público de la transición.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://github.com/ropensci/rentrez/issues/203\"\u003eEl \u003cem\u003eissue\u003c/em\u003e \u0026ldquo;Nuevo(s) mantenedor(es/as)\u0026rdquo; del paquete rentrez\u003c/a\u003e es un buen ejemplo de contenido, recursos y conversación de seguimiento.\u003c/p\u003e\u003cp\u003eSi tu repositorio está en GitHub puedes \u003cem\u003eanclar\u003c/em\u003e este \u003cem\u003eissue\u003c/em\u003e para que se muestre en la parte superior de la pestaña issues y gane visibilidad.\u003c/p\u003e\u003ch2 id=\"actualiza-tu-readme-para-reflejar-el-estado-del-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#actualiza-tu-readme-para-reflejar-el-estado-del-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eActualiza tu README para reflejar el estado del paquete\u003c/h2\u003e\u003cp\u003eEl README es el otro lugar que verán muchas de las personas que usan tu paquete.Agrega una nota breve y bien visible cerca de la parte superior, por ejemplo:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-markdown\" data-lang=\"markdown\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e⚠️ \u003cspan class=\"gs\"\u003e**Estado del proyecto:**\u003c/span\u003e se buscan personas que se sumen al mantenimiento.  \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eSi te interesa ayudar con el mantenimiento de este paquete,\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003erevisá [\u003cspan class=\"nt\"\u003eeste issue\u003c/span\u003e](\u003cspan class=\"na\"\u003elink-to-issue\u003c/span\u003e) o \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eescribí a tu_email\u003cspan class=\"ni\"\u003e@ejemplo\u003c/span\u003e.com.\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEste mensaje:\u003c/p\u003e\u003cul\u003e\u003cli\u003eEstablece expectativas para los y las usuarias.\u003c/li\u003e\u003cli\u003eInvita a posibles personas interesadas directamente desde la portada de tu repositorio.\u003c/li\u003e\u003cli\u003eReduce la posibilidad de que alguien asuma que el paquete está abandonado sin explicación (\u003ca href=\"/blog/2022/07/01/evaluating-github-activity-for-contributors/\"\u003eeste artículo enumera las fuentes de información que aconsejamos comprobar para entender el estado de un paquete\u003c/a\u003e).\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTambién puedes añadir un \u003cstrong\u003e\u0026ldquo;Estado del proyecto\u0026rdquo;\u003c/strong\u003e en el README que ofrezca un poco más de contexto (por ejemplo, \u0026ldquo;Modo: mantenimiento solamente\u0026rdquo;, \u0026ldquo;nuevas características improbables sin nuevas personas que mantengan\u0026rdquo;, etc.).\u003c/p\u003e\u003ch2 id=\"acércate-a-las-personas-que-ya-colaboran-y-que-son-usuarias-avanzadas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ac%c3%a9rcate-a-las-personas-que-ya-colaboran-y-que-son-usuarias-avanzadas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAcércate a las personas que ya colaboran y que son usuarias avanzadas\u003c/h2\u003e\u003cp\u003eLos mejores candidatos y candidatas para sumar apoyo al mantenimiento uelen estar más cerca de lo que parece:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePersonas que han enviado \u003cem\u003ePRs\u003c/em\u003e.\u003c/li\u003e\u003cli\u003ePersonas que han presentado cuestiones útiles y detalladas.\u003c/li\u003e\u003cli\u003ePersonas que sabes que utilizan el paquete en su trabajo.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTú puedes:\u003c/p\u003e\u003cul\u003e\u003cli\u003eEnviar un correo electrónico o un mensaje breve y cortés a algunas personas que hayan sido especialmente activas. Aunque digan que no, puede que conozcan a alguien que encaje bien en el equipo.\u003c/li\u003e\u003cli\u003eSi no hay un correo electrónico u otra forma de contacto disponible, etiquetá directamente a estas personas activas en el \u003cem\u003eissue\u003c/em\u003e “Se busca apoyo para el mantenimiento”, como se hizo en el \u003ca href=\"https://github.com/ropensci/rentrez/issues/203\"\u003erepositorio del paquete rentrez\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"anúncialo-donde-estén-las-personas-que-usan-tu-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#an%c3%bancialo-donde-est%c3%a9n-las-personas-que-usan-tu-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAnúncialo donde estén las personas que usan tu paquete\u003c/h2\u003e\u003cp\u003eAhora que el repo de tu paquete tiene mensajes claros, un lugar donde expresar interés y una forma clara de comunicarse contigo, es buena idea correr la voz más allá de tu repositorio.\u003c/p\u003e\u003cp\u003eConsidera la posibilidad de publicar un breve anuncio en lugares donde sea probable que tus usuarias/os o colaboradores/as lo vean:\u003c/p\u003e\u003cul\u003e\u003cli\u003eForos, listas de correo, canales de Slack/Discord relevantes para tu lenguaje de programación y-o disciplina.\u003c/li\u003e\u003cli\u003eRedes sociales (por ejemplo, Mastodon, Bluesky, LinkedIn) utilizando hashtags específicos como #RStats.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ePor ejemplo, rOpenSci \u003ca href=\"/help-wanted/\"\u003eenumera los \u003cem\u003eissues\u003c/em\u003e buscando nuevas personas para el mantenimiento de paquetes en nuestro sitio web\u003c/a\u003e los compartimos en nuestras redes sociales y en nuestro \u003ca href=\"/blog/2025/12/18/news-december-2025/#calls-for-contributions\"\u003eboletín de noticias\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"añadir-un-mensaje-de-inicio-de-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#a%c3%b1adir-un-mensaje-de-inicio-de-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAñadir un mensaje de inicio de paquete\u003c/h2\u003e\u003cp\u003eEn cierto momento, puedes plantearte añadir un mensaje de inicio que informe a las personas usuarias sobre la búsqueda de ayuda para mantener el paquete.\u003c/p\u003e\u003cp\u003eEn este mensaje puedes enlazar con el issue \u0026ldquo;Se busca apoyo para el mantenimiento\u0026rdquo; y animar a quienes usan el paquete a que te consulten si tienen interés en ayudar.\u003c/p\u003e\u003cp\u003eSe trata de un movimiento agresivo y puede ser molesto, así que considéralo sólo si tu paquete es usado activamente por muchas personas y no has tenido mucha suerte encontrando alguien que tome responsabilidades de mantenimiento por otros canales.\u003c/p\u003e\u003ch2 id=\"último-recurso-archiva-tu-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#%c3%baltimo-recurso-archiva-tu-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eÚltimo recurso: archiva tu paquete\u003c/h2\u003e\u003cp\u003eSi después de un tiempo razonable no has podido encontrar alguien que se sume a mantener tu paquete,puede que tengas que tomar la difícil decisión de archivarlo, en tu repositorio, por ejemplo \u003ca href=\"https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories\"\u003eGitHub\u003c/a\u003e \u0026ndash; y en CRAN, si corresponde.Archivar el paquete pone fin, aunque sea tristemente, a tus esfuerzos de mantenimiento.\u003c/p\u003e\u003cp\u003eAntes de archivar tu paquete, tómate tu tiempo para añadir un comentario explicativo en todos los \u003cem\u003eissues\u003c/em\u003e y \u003cem\u003ePRs\u003c/em\u003e y para cerrarlos todos.Puedes crear un nuevo README para explicar el nuevo estado.Podrías añadir cómo ponerse en contacto contigo en caso de que alguien quisiera reactivar el repositorio y encargarse del mantenimiento.\u003c/p\u003e\u003cp\u003ePuede que tu software sea sustituido por otros paquetes,\u003ca href=\"https://github.com/ropensci/nodbi/issues/48\"\u003etal vez alguien acabe poniéndose en contacto contigo para pedirte que le transfieras el repositorio\u003c/a\u003e,tal vez alguien cree un sustituto con el mismo nombre (y con suerte con la autoría y licencia correctas si reutiliza tu código).En cualquier caso, habrás hecho todo lo posible y el destino del paquete ya no está en tus manos.\u003c/p\u003e\u003ch2 id=\"está-bien-dar-un-paso-al-costado\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#est%c3%a1-bien-dar-un-paso-al-costado\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEstá bien dar un paso al costado\u003c/h2\u003e\u003cp\u003eDejar de mantener un paquete es una parte normal del ciclo de vida del software de código abierto.\u003c/p\u003e\u003cp\u003eAl:\u003c/p\u003e\u003cul\u003e\u003cli\u003eplanificar la continuidad desde el inicio,\u003c/li\u003e\u003cli\u003efacilitar la colaboración en el paquete,\u003c/li\u003e\u003cli\u003eaclarar tus propios límites,\u003c/li\u003e\u003cli\u003eabrir un issue claro para buscar apoyo en el mantenimiento,\u003c/li\u003e\u003cli\u003eActualizar el README,\u003c/li\u003e\u003cli\u003econtactar a quienes ya contribuyen,\u003c/li\u003e\u003cli\u003edifundir la búsqueda en los canales adecuados,\u003c/li\u003e\u003cli\u003ey, si es necesario, archivar el paquete,\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ele das a tu proyecto la mejor oportunidad de continuar, mientras también cuidás tu tiempo y energía.\u003c/p\u003e\u003cp\u003e¿Tienes algún otro consejo o idea?Por favor, compártelos.¡Nos encantaría leerlos!\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eSi aparece la culpa, recordá que todo lo que construiste hasta ahora no se invalida por elegir dar un paso atrás más adelante.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eEsta puede ser una buena forma de descubrir si tu guía de contribución es lo suficientemente detallada.\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2026/01/27/new-maintainer/","date_published":"2026-01-27T00:00:00+00:00","date_modified":"2026-01-27T14:36:16-03:00"},{"id":"https://doi.org/10.59350/mef07-0zq93","title":"Software Libre de Investigación en América Latina, conversaciones con la comunidad de Campeon(a|e)s de rOpenSci","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["programa de campeones","comunidad"],"content_html":"\u003cp\u003eEn el marco del \u003ca href=\"/es/blog/2026/01/12/programachamps2026/\"\u003ellamado abierto al Programa de Campeon(a|e)s de rOpenSci 2026\u003c/a\u003e —cuarta cohorte global y segunda cohorte en español— realizamos una nueva edición de \u003ca href=\"/es/commcalls/\"\u003eConversaciones con la comunidad\u003c/a\u003e.En esta oportunidad, Yanina Bellini Saibene moderó un \u003ca href=\"/es/commcalls/champions-latino-2026/\"\u003eencuentro con Erik Navarro, Diana García y Luis Verde Arregoitia\u003c/a\u003e, quienes compartieron sus experiencias como campeon(a|e)s y mentor(a|e)s del programa, los aprendizajes obtenidos y las oportunidades que abre participar en una comunidad de software libre y ciencia abierta.\u003c/p\u003e\u003cp\u003eEl objetivo del webinario fue contar desde la experiencia real cómo es formar parte del programa y responder preguntas de quienes están considerando postularse como campeon(a|e)s o mentor(a|e)s.\u003c/p\u003e\u003cp\u003eYanina abrió la conversación presentando el programa y su propósito: \u003cstrong\u003efortalecer capacidades en desarrollo de software de investigación sostenible, con foco en ciencia abierta y comunidades colaborativas\u003c/strong\u003e y luego dió la palabra a los invitados.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/es/blog/2026/01/26/commcallchamps/collage-comm-call.es.png\"\t\t\talt=\"Reunión de Zoom del evento con los participantes y protagonistas\"\u003e\u003c/figure\u003e\u003ch2 id=\"erik-navarro---campeón\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#erik-navarro---campe%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eErik Navarro - Campeón\u003c/h2\u003e\u003cp\u003eEl proyecto de Erick fue trabajar sobre un paquete existente y prepararlo para enviarlo al proceso de revision por pares de rOpenSci y recibir el feedback de expertos.\u003c/p\u003e\u003cp\u003eSu paquete de bioinformática, llamado \u003ca href=\"https://github.com/ErickNavarroD/RAMEN\"\u003eRAMEN\u003c/a\u003e, tiene como objetivo facilitar el analisis y modelado de datos de metilación. Este paquete es un producto de su doctorado en la universidad de British Columbia, Canadá que tiene como objetivo entender cómo la genética y los factores ambientales modulan la expresión génica en poblaciones humanas\u003c/p\u003e\u003ch3 id=\"experiencia-en-el-programa\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#experiencia-en-el-programa\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eExperiencia en el programa\u003c/h3\u003e\u003cp\u003eErick valoro mucho los aprendizajes técnicos. Los talleres le permitieron mejorar sus conocimientos de programación pese a tener experiencia previa en desarrollo de software y aprendió mejores prácticas de programación y cómo hacer el código más robusto.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eAunque ya sabía programar, yo soy biologo y no tuve clases formales de programación. Los talleres me ayudaron a llenar huecos en mi conocimiento\u0026quot; - Erick\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eEstos conocimientos los pudo aplicar directamente en su paquete, por ejemplo implementando pruebas exhaustivas del código y asegurando compatibilidad con distintos sistemas operativos.\u003c/p\u003e\u003cp\u003eSumado a los entrenamientos, Erick destacó la importancia de contar con una mentora (Pao Corrales) que lo guió durante el proceso de revisión y eso lo facilitó mucho. Le ayudo a dividir las tareas en partes manejables y \u003ca href=\"https://github.com/ropensci-review-tools/roreviewapi/issues/82\"\u003eresolver inconvenientes técnicos\u003c/a\u003e.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEs muy diferente tener una persona con quien hablar versus tener que leer un documento extenso solo, incluso si la documentacion es clara y completa.\u0026quot; - Erick\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eAdemas, rescató que el \u003ca href=\"https://devguide.ropensci.org/es/index.es.html\"\u003eproceso de revisión\u003c/a\u003e es muy util desde el minuto uno: su paquete mejoró significativamente solo con cumplir los estándares de revisión, incluso antes de recibir feedback de revisores y editores.\u003c/p\u003e\u003cp\u003eErick también destaca que la experiencia del programa ayuda a ganar confianza para seguir participando en comunidades de código abierto y valoró que más allá de lo técnico, se construyen vínculos y redes profesionales valiosas y en especial para él, fue muy rico conocer personas de Latinoamérica, región poco representada en desarrollo de software libre.\u003c/p\u003e\u003cp\u003eSu mensaje final anima a las personas a aplicar al programa porque es una oportunidad única de aprendizaje y crecimiento profesional.\u003c/p\u003e\u003ch2 id=\"diana-garcía---campeona\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#diana-garc%c3%ada---campeona\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDiana García - Campeona\u003c/h2\u003e\u003cp\u003eDiana participa del programa desarrollando un paquete nuevo para compartir datos de secuenciación de DNA y RNA de pacientes con cáncer de mama metastásico.Su motivación principal es hacer datos abiertos y fáciles de analizar para otros laboratorios, de esa manera espera permitir que otros investigadores hagan nuevas preguntas a los datos ya generados.\u003c/p\u003e\u003ch3 id=\"experiencia-en-el-programa-1\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#experiencia-en-el-programa-1\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eExperiencia en el programa\u003c/h3\u003e\u003cp\u003eLa primera aclaracion que Diana nos dejó es que el programa tiene una gran diversidad de temas, aunque los proyectos de Erick y el suyo son de bioinformática, otros campeon(a|e)s trabajan en áreas muy distintas:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEso es algo que me gustó mucho del programa: en la cohorte hay paquetes para compartir datos de encuestas, en temas ambientables, otros enfocados en metodologías distintas… es decir, proyectos muy diversos conviviendo en un mismo espacio de aprendizaje.\u0026quot; - Diana\u003c/p\u003e\u003c/blockquote\u003e\u003cfigure\u003e\u003cimg src=\"/es/blog/2026/01/26/commcallchamps/proyectos.es.png\"\t\t\talt=\"Hexstickers con los nombres de los paquetes del programa de campeones: agroclimatico, pcir, eph, odbr, ecocam, karel, rgee\u0026#43;, Arcenso, geobr, ramen, metasurvey, votosCL, MBCdata, matildaNLP, Mapping Pseudoscenarios, SLCF\"\u003e\u003c/figure\u003e\u003cp\u003eDiana también destaca el valor de la mentoría personal, ella trabaja con Geraldine, una ingeniera de software con reuniones pogramadas cada dos semanas, lo que crea un compromiso positivo y constante para avanzar en el proyecto.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eTener una mentoría personal con alguien que ya tiene experiencia en el desarrollo de software es muy valioso. En lo personal, poder preguntar directamente a mi mentora hizo una gran diferencia en mi proceso de aprendizaje.Obviamente uno puede ver recursos en internet, preguntarle a ChatGPT y tratar de aprender por su cuenta, pero es muy diferente cuando tienes a una persona que ya vivió ese proceso y que te guía y con quien puedes conversar directamente tus dudas.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eFinalmente, Diana menciona que el programa no solo enseña aspectos técnicos, como los que menciono Erick. También permite aprender las dimensiones humanas de construir comunidad, cosas que no se aprenden en otros espacios y que aquí se viven y se practican.\u003c/p\u003e\u003cp\u003eEn su cierre, también anima a postular y compartir la oportunidad con otras personas.\u003c/p\u003e\u003ch2 id=\"luis-verde-arregoitia---mentor\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#luis-verde-arregoitia---mentor\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLuis Verde Arregoitia - Mentor\u003c/h2\u003e\u003cp\u003eLuis ha participado en dos cohortes consecutivas como mentor y rescata como un beneficio muy importante no solo el entrenamiento de mentores, pero también tener acceso a todos los entrenamientos disponibles para campeon(e|a)s.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEl primer año no me perdí ninguna sesión. Los materiales del programa se actualizan constantemente así que siempre hay cosas nuevas que aprender. Incluso cuando me tocaba madrugar para conectarme, honestamente valió completamente la pena.” - Luis\u003c/p\u003e\u003c/blockquote\u003e\u003ch3 id=\"casos-de-mentoría\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#casos-de-mentor%c3%ada\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCasos de mentoría\u003c/h3\u003e\u003cp\u003eLuis acompañó dos proyectos muy distintos, lo que le permitió vivir de primera mano la diversidad de temas y dinámicas que Diana y Erick mencionaban.\u003c/p\u003e\u003cp\u003eEn su primera mentoría trabajó junto a \u003ca href=\"/author/andrea-gomez-vargas/\"\u003eAndrea\u003c/a\u003e, cuyo proyecto consistía en desarrollar un paquete nuevo \u003ca href=\"https://soyandrea.github.io/arcenso/\"\u003esobre censos y estadística demográfica de Argentina\u003c/a\u003e. Aunque el tema estaba fuera de su especialidad, ya que su formación es en biología, aun así pudo aportar acompañando el proceso general de desarrollo del paquete. Acompañó decisiones de organización, planificación y conexión con la comunidad. Coincidir en eventos presenciales con Andrea y otras personas de rOpenSci fortaleció el vínculo de trabajo. Como resultado del proceso, celebró que el paquete ya fue publicado.\u003c/p\u003e\u003cp\u003eEn su segunda experiencia, Luis acompaña a \u003ca href=\"https://ropensci.org/author/monika-avila-marquez/\"\u003eMónica\u003c/a\u003e, quien está trabajando en un paquete enfocado en estadística y econometría.En esta ocasión el trabajo fue más asincrónico, con intercambios principalmente a distancia.Su rol se centró especialmente en compartir recursos, herramientas y buenas prácticas que pudieran fortalecer el desarrollo del paquete.\u003c/p\u003e\u003cp\u003eLuis destacó que este tipo de acompañamiento flexible también es parte del valor del programa, aunque se capacita a mentores en qué se espera de ellos y cómo serlo efectivamente, se permite adaptar la mentoría a las necesidades y dinámicas de cada proyecto.\u003c/p\u003e\u003cp\u003eTambién cierra su participación invitando a postular para la nueva cohorte:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e¿Por qué participar en el Programa? Porque aprendes muchísimo: de tu propio proyecto, de los proyectos de otras personas y de una comunidad increíble con la que haces conexiones que se quedan para toda la vida.\u0026quot; — Luis\u003c/p\u003e\u003c/blockquote\u003e\u003ch2 id=\"una-invitación-abierta\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#una-invitaci%c3%b3n-abierta\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUna invitación abierta\u003c/h2\u003e\u003cp\u003eLuego de la etapa de preguntas y respuesta, que \u003ca href=\"https://docs.google.com/document/d/11VNyam-wnZqh8qohRiMdM48yQj2Xah9R_8lKVFrKXyI/edit?usp=sharing\"\u003epuedes consultar en el documento compartido del evento\u003c/a\u003e, se cerró el encuentro con una invitación a \u003ca href=\"https://champions-program.ropensci.org\"\u003epostularse al próximo llamado 2026\u003c/a\u003e, ya sea como campeón/a o como mentor/a. La fecha límite para postular es el \u003cstrong\u003e20 de febrero de 2026\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eEl \u003ca href=\"/events/clinica-champions-2026/\"\u003e5 de febrero tenemos una Clinica de Aplicación\u003c/a\u003e donde podes trabajar sobre tu postulación con apoyo de Yanina y también podes sacarte todas tus dudas\u003c/p\u003e\u003cp\u003eComo resaltó Yanina, fortalecer el software de investigación en América Latina requiere personas comprometidas, comunidades abiertas y espacios donde aprender colectivamente.\u003c/p\u003e\u003cp\u003eSi te interesa mejorar tu proyecto de software científico en R, aprender buenas prácticas de desarrollo abierto y conectar con una comunidad internacional, el Programade rOpenSci puede ser tu próximo paso.\u003c/p\u003e\u003cp\u003ePodes ver el video completo y todos los recursos compartidos en el evento en la \u003ca href=\"/es/commcalls/champions-latino-2026/\"\u003epágina del webinario\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/01/26/commcallchamps/","date_published":"2026-01-26T00:00:00+00:00","date_modified":"2026-01-26T09:03:19-03:00"},{"id":"https://doi.org/10.59350/hc0mt-mbd60","title":"Convocatoria abierta al Programa de Campeonas y Campeones de rOpenSci 2026","language":"es","authors":[{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["programa de campeones"],"content_html":"\u003cp\u003eNos alegra anunciar la apertura de un nuevo llamado al \u003cstrong\u003ePrograma de Campeonas y Campeones de rOpenSci\u003c/strong\u003e, que dará inicio en 2026. A partir del \u003cstrong\u003e12 de enero de 2026\u003c/strong\u003e y hasta el \u003cstrong\u003e20 de febrero de 2026\u003c/strong\u003e, estaremos recibiendo postulaciones tanto para el rol de \u003cstrong\u003eCampeon(a|e)s\u003c/strong\u003e como de \u003cstrong\u003eMentor(a|e)s\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eAl igual que en la cohorte anterior, el programa se desarrollará \u003cstrong\u003ecompletamente en castellano\u003c/strong\u003e y tendrá un \u003cstrong\u003efoco regional en América Latina\u003c/strong\u003e, con el objetivo de seguir fortaleciendo el ecosistema de software de investigación y ciencia abierta en la región.\u003c/p\u003e\u003ch2 id=\"fechas-clave-del-llamado-2026\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#fechas-clave-del-llamado-2026\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFechas clave del llamado 2026\u003c/h2\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eApertura de la convocatoria:\u003c/strong\u003e Lunes 12 de enero de 2026\u003c/li\u003e\u003cli\u003e\u003ca href=\"/es/commcalls/champions-latino-2025/\"\u003e\u003cstrong\u003eConversación con la comunidad informativa:\u003c/strong\u003e Miércoles 21 de enero de 2026\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"/events/clinica-champions-2026/\"\u003e\u003cstrong\u003eClínicas de aplicación:\u003c/strong\u003e Jueves 5 de febrero de 2026\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eCierre de la convocatoria:\u003c/strong\u003e Lunes 20 de febrero de 2026\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLa \u003cem\u003eConversación con la comunidad\u003c/em\u003e del 21 de enero contará con la participación de \u003cstrong\u003ecampeonas, campeones y mentores de cohortes anteriores\u003c/strong\u003e, quienes compartirán sus experiencias y responderán preguntas sobre el programa.  ¡Les invitamos a sumarse!. Pueden ver la \u003ca href=\"/es/commcalls/champions-latino-2025/\"\u003egrabación del evento del año pasado\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eDurante febrero realizaremos una \u003cstrong\u003eclínica de aplicación\u003c/strong\u003e, espacio abierto donde podrán recibir ayuda para completar el formulario, resolver dudas y recibir orientación directa del equipo del programa.\u003c/p\u003e\u003ch2 id=\"qué-es-el-programa-de-campeonas-y-campeones\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-es-el-programa-de-campeonas-y-campeones\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué es el Programa de Campeonas y Campeones?\u003c/h2\u003e\u003cp\u003eEl Programa busca identificar, acompañar y reconocer a personas que ya están liderando, o que quieren dar un paso más, en la construcción de comunidades de ciencia abierta y software de investigación sostenible.\u003c/p\u003e\u003cp\u003eA lo largo de \u003cstrong\u003e12 meses\u003c/strong\u003e, las personas seleccionadas participarán de:\u003c/p\u003e\u003cul\u003e\u003cli\u003eUna capacitación inicial de 13 workshops de 2 horas basada en cohortes.\u003c/li\u003e\u003cli\u003eEl desarrollo de un proyecto de software de investigación: creación de un paquete de R, participación en la revisión por pares de rOpenSci con un paquete de su autoria o como parte del equipo de revisores.\u003c/li\u003e\u003cli\u003eMentoría 1 a 1 y espacios de intercambio grupal.\u003c/li\u003e\u003cli\u003eActividades de construcción de comunidad, divulgación e intercambio de experiencias y fortalecimiento de redes regionales.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEl programa ofrece además un \u003cstrong\u003eestipendio\u003c/strong\u003e para reconocer el tiempo y el trabajo de las personas participantes para aquellas personas que completen el programa y un certificado de participación.\u003c/p\u003e\u003ch2 id=\"a-quiénes-está-dirigido\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#a-qui%c3%a9nes-est%c3%a1-dirigido\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿A quiénes está dirigido?\u003c/h2\u003e\u003ch3 id=\"campeonaes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#campeonaes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCampeon(a|e)s\u003c/h3\u003e\u003cp\u003eBuscamos personas que:\u003c/p\u003e\u003cul\u003e\u003cli\u003eSean orginarios o vivan y trabajen en \u003cstrong\u003eAmérica Latina\u003c/strong\u003e.\u003c/li\u003e\u003cli\u003eUtilicen R y tengan experiencia previa en desarrollo de software, análisis reproducible o ciencia abierta.\u003c/li\u003e\u003cli\u003eEstén interesadas en desarrollar un proyecto de software de investigación abierto y en fortalecer sus comunidades locales o regionales.\u003c/li\u003e\u003cli\u003ePuedan comunicarse efectivamente en español (oral y escrito).\u003c/li\u003e\u003cli\u003eAcepten nuestro \u003ca href=\"/es/c%C3%B3digo-de-conducta/\"\u003ecódigo de conducta\u003c/a\u003e y puedan comprometerse a participar en las actividades del programa organizadas para campeones y campeonas durante estos 12 meses.\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"mentoraes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mentoraes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMentor(a|e)s\u003c/h3\u003e\u003cp\u003eInvitamos a postularse como mentoras o mentores a personas que:\u003c/p\u003e\u003cul\u003e\u003cli\u003eTengan experiencia desarrollando, manteniendo o contribuyendo a paquetes de R (idealmente dentro de rOpenSci, aunque no es excluyente).\u003c/li\u003e\u003cli\u003eHayan participado en procesos de revisión por pares de software.\u003c/li\u003e\u003cli\u003eTengan experiencia relevante en mentoría.\u003c/li\u003e\u003cli\u003eTengan interés en acompañar a otras personas, compartir experiencias y contribuir activamente al crecimiento del programa.\u003c/li\u003e\u003cli\u003ePuedan comunicarse efectivamente en español (oral y escrito).\u003c/li\u003e\u003cli\u003eAcepten nuestro \u003ca href=\"/es/c%C3%B3digo-de-conducta/\"\u003ecódigo de conducta\u003c/a\u003e y puedan comprometerse a participar en las actividades del programa organizadas para mentores y mentoras durante estos 12 meses.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"por-qué-participar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-qu%c3%a9-participar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por qué participar?\u003c/h2\u003e\u003cp\u003eSer parte del Programa de Campeonas y Campeones de rOpenSci significa:\u003c/p\u003e\u003cul\u003e\u003cli\u003eDesarrollar o fortalecer un proyecto de software de investigación con acompañamiento experto.\u003c/li\u003e\u003cli\u003eFormar parte de una red regional de personas comprometidas con la ciencia abierta y el software libre.\u003c/li\u003e\u003cli\u003eAdquirir herramientas técnicas y habilidades de liderazgo comunitario.\u003c/li\u003e\u003cli\u003eRecibir apoyo para compartir tu trabajo y tus experiencias con tu comunidad o institución y en eventos regionales e internacionales.\u003c/li\u003e\u003cli\u003eContribuir activamente a un ecosistema de software abierto más diverso, sostenible e inclusivo.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"cómo-postularse\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-postularse\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo postularse?\u003c/h2\u003e\u003cp\u003eLas postulaciones se realizarán a través de formularios en línea:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href=\"https://airtable.com/appF6OXmxkk8VmR8a/shrlvgcNz1R4CoaQN\"\u003eCompleta este formulario para postularte para ser Campeon/a\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://airtable.com/appF6OXmxkk8VmR8a/shrZnWDRKxXUEmLRM\"\u003eCompleta este formulario para postularte para ser Mentor/a\u003c/a\u003e,\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEstos formularios también están disponibles en el \u003ca href=\"https://champions-program.ropensci.org\"\u003esitio web del programa\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eLos formularios deberán completarse \u003cstrong\u003een castellano\u003c/strong\u003e. En la web del programa también encontrarán \u003ca href=\"https://champions-program.ropensci.org/champions/#informaci%C3%B3n-requerida-en-el-formulario\"\u003eel detalle de la información requerida para aplicar como campeon-a\u003c/a\u003e o \u003ca href=\"https://champions-program.ropensci.org/mentors/#informaci%C3%B3n-requerida-en-el-formulario\"\u003ecomo mentor-a\u003c/a\u003e para facilitar la preparación de las postulaciones y \u003ca href=\"https://champions-program.ropensci.org/resources/faq.html\"\u003erespuestas a las preguntas mas frecuentes\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"más-información\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#m%c3%a1s-informaci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMás información\u003c/h2\u003e\u003cp\u003eEn \u003ca href=\"https://champions-program.ropensci.org/\"\u003eel sitio web\u003c/a\u003e podes encontrar el cronograma detallado de actividades y la información completa del programa, como también \u003ca href=\"https://champions-program.ropensci.org/galeria/#proyectos\"\u003elos proyectos realizados por las cohortes anteriores\u003c/a\u003e y los otros tipos de actividades llevadas adelante por las personas participantes.\u003c/p\u003e\u003cp\u003eSi tienen preguntas, los invitamos a participar de la \u003cem\u003eConversación con la comunidad\u003c/em\u003e de enero, sumarte a las \u003cem\u003eclínicas de aplicación\u003c/em\u003e en febrero o \u003ca href=\"mailto:yabellini@gmail.com\"\u003eenviar un mail a la directora del programa\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e¡Esperamos sus postulaciones con mucho entusiasmo! Queremos seguir construyendo comunidad en América Latina junto a ustedes.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/01/12/programachamps2026/","date_published":"2026-01-12T00:00:00+00:00","date_modified":"2026-01-12T12:51:34-03:00"},{"id":"https://doi.org/10.59350/v3pk5-hh440","title":"Revisión anual del código de conducta de rOpenSci","language":"es","authors":[{"name":"Mark Padgham","url":"https://orcid.org/0000-0003-2172-5265","avatar":"https://ropensci.org/img/team/mark-padgham.jpg","_role":["author"]},{"name":"Natalia Morandeira","url":"https://ropensci.org/es/author/natalia-morandeira/","avatar":"https://github.com/nmorandeira.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["código de conducta","gobernanza","comunidad"],"content_html":"\u003cp\u003eLas actividades y espacios de rOpenSci cuentan con el marco de un \u003ca href=\"/es/c%C3%B3digo-de-conducta/\"\u003eCódigo de Conducta\u003c/a\u003e (CoC)que se aplica a todas las personas que participan en la comunidad de rOpenSci,incluido el personal y la dirección de rOpenSci.Se aplica a todos los modos de interacción, incluidos los repositorios de proyectos de GitHub,el foro de debate de rOpenSci, Slack, eventos \u003cem\u003eonline\u003c/em\u003e como \u0026ldquo;Conversaciones con la comunidad\u0026rdquo;, sesiones de co-trabajo, talleres formación y tutoría,y en eventos en persona organizados por rOpenSci, incluidas las actividades de caracter social relacionadas a estos eventos.Nuestro CoC es desarrollado y aplicado por un comité que incluye personal de rOpenSci y una persona independiente de la comunidad.\u003c/p\u003e\u003cp\u003eEste es nuestro informe de revisión anual del Código de Conducta de rOpenSci,el proceso de reporte de incidentes y las directrices internas para gestionar estos reportes y el cumplimiento del CoC.\u003c/p\u003e\u003ch2 id=\"actualizaciones\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#actualizaciones\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eActualizaciones\u003c/h2\u003e\u003col\u003e\u003cli\u003e\u003cp\u003eNo hay cambios en la composición del Comité para 2026.Las personas que lo componen son \u003ca href=\"/es/author/natalia-morandeira/\"\u003eNatalia Morandeira\u003c/a\u003e (persona independiente),\u003ca href=\"/es/author/mark-padgham/\"\u003eMark Padgham\u003c/a\u003e (científico de software de investigación de rOpenSci) y\u003ca href=\"/es/author/yanina-bellini-saibene\"\u003eYanina Bellini Saibene\u003c/a\u003e (\u003cem\u003eCommunity Manager\u003c/em\u003e de rOpenSci).Nosotros somos responsables de recibir, investigar, adjudicar, hacer cumplir,y responder a todos los reportes de posibles violaciones de nuestro CoC.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eNo se han introducido cambios en el texto del CoC en ninguno de los tres idiomas disponibles (inglés, español o portugués).\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eDado que el texto no ha cambiado, el número de versión se mantiene en 2.5, con fecha de 30 de enero de 2024.\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003ch2 id=\"actividades-del-comité\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#actividades-del-comit%c3%a9\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eActividades del Comité\u003c/h2\u003e\u003cp\u003eUn aspecto importante de nuestro trabajo como parte del Comité es asegurarnos de que los procesos que seguimos son transparentes, coherentes y justos. Para facilitar este trabajo hemos desarrollado un conjunto de plantillas y listas que nos guían a través de las diferentes etapas de la respuesta a incidentes y la elaboración de informes. Compartimos abiertamente estos recursos y los explicamos en detalle en el \u003ca href=\"https://ropensci.org/blog/2025/09/30/coc-templates/\"\u003eartículo \u0026ldquo;Plantillas del Comité del Código de Conducta de rOpenSci\u0026rdquo;.\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eYanina Bellini Saibene asistió a la Sesión \u003cem\u003eCommunity safety and wellbeing: Can we do more than “good enough”? (Seguridad y bienestar de la comunidad: ¿Podemos hacer algo más que «lo justo y necesario»?)\u003c/em\u003e en la reunión de Open Science de CZI para debatir las mejores prácticas de gestión de Código de Conductas con otras organizaciones que trabajan en ciencia abierta.\u003c/p\u003e\u003ch2 id=\"información-de-contacto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#informaci%c3%b3n-de-contacto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eInformación de contacto\u003c/h2\u003e\u003cp\u003eAgradecemos tus comentarios al \u003ca href=\"mailto:conduct@ropensci.org\"\u003ecorreo electrónico\u003c/a\u003e \u003cem\u003econduct at ropensci.org\u003c/em\u003e,y te agradecemos que sigas colaborando con nosotros para garantizar que rOpenSci continúe siendo un lugar seguro,agradable, amistoso y enriquecedor para todas las personas que participan.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/01/07/conducta2025/","date_published":"2026-01-07T00:00:00+00:00","date_modified":"2026-01-07T08:35:53-03:00"},{"id":"https://doi.org/10.59350/vwhmp-28h41","title":"Reporte de Transparencia del Código de Conducta de rOpenSci 2025","language":"es","authors":[{"name":"Mark Padgham","url":"https://orcid.org/0000-0003-2172-5265","avatar":"https://ropensci.org/img/team/mark-padgham.jpg","_role":["author"]},{"name":"Natalia Morandeira","url":"https://ropensci.org/es/author/natalia-morandeira/","avatar":"https://github.com/nmorandeira.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","código de conducta","governanza"],"content_html":"\u003ch2 id=\"mantener-la-confianza-y-la-seguridad-de-la-comunidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mantener-la-confianza-y-la-seguridad-de-la-comunidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMantener la confianza y la seguridad de la comunidad\u003c/h2\u003e\u003cp\u003eLa comunidad rOpenSci se rige por nuestro \u003ca href=\"/code-of-conduct\"\u003eCódigo de conducta\u003c/a\u003e,que describe claramente los comportamientos inaceptables,incluye instrucciones sobre cómo reportar un incidentee informa sobre cómo se gestionan estos reportes.\u003c/p\u003e\u003cp\u003eNosotros, el Comité del Código de Conducta,somos responsables de recibir, investigar, decidir,aplicar y informar sobre todas las denuncias de posibles infracciones de nuestro Código.Nos comprometemos a ser transparentes con nuestra comunidad, al tiempo que defendemos la privacidadde las personas que experimentan o denuncian incidentes.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEn 2025, no recibimos ningun reporte relacionado con el Código de Conducta.\u003c/strong\u003e\u003c/p\u003e\u003ch2 id=\"comentarios-de-la-comunidad-e-información-de-contacto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#comentarios-de-la-comunidad-e-informaci%c3%b3n-de-contacto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eComentarios de la comunidad e información de contacto\u003c/h2\u003e\u003cp\u003eEl Comité del Código de Conducta mantiene su compromiso de mantener unespacio acogedor y amigable en el que todas las personas que forman parte de la comunidad rOpenSci puedan participar plenamente y con confianza.\u003c/p\u003e\u003cp\u003eEste código de conducta pertenece a la comunidad.Agradecemos tus comentarios en cualquier momento enviando un correo electrónico a \u003ca href=\"mailto:conduct@ropensci.org\"\u003econduct@ropensci.org\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2026/01/06/transparenciacoc2025/","date_published":"2026-01-06T00:00:00+00:00","date_modified":"2026-01-06T08:58:35-03:00"},{"id":"https://doi.org/10.59350/b73e6-3wm19","title":"¡Prepárense para el lanzamiento! Paquetes enviados al R-multiverse","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator"]}],"tags":["r-multiverse","r-universe","paquetes","comunidad"],"content_html":"\u003cp\u003eWill Landau presentó recientemente el R-multiverse, \u003ca href=\"/commcalls/r-multiverse/\"\u003euna nueva forma de publicar paquetes de R\u003c/a\u003e durante una \u0026ldquo;conversación con la comunidad\u0026rdquo; de rOpenSci\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e.Después de ese evento, una sesión de \u003ca href=\"/blog/2023/06/21/coworking/\"\u003ecotrabajo\u003c/a\u003e permitió una conversación aún más intensa entre Will y el equipo de administración de R-multiverse, Jeroen Ooms y Maëlle Salmon, y personas interesadas de la comunidad.\u003c/p\u003e\u003cp\u003e¡Una misión clave de esa sesión de coworking fue enviar paquetes al R-multiverse en directo!Tras la \u003ca href=\"https://r-multiverse.org/contributors.html\"\u003einstrucciones\u003c/a\u003e cualquier persona que mantiene paquetes y quiere enviar su software al repositorio comunitario debe:\u003c/p\u003e\u003cul\u003e\u003cli\u003ecrear una \u0026ldquo;release\u0026rdquo; GitHub o GitLab de su paquete;\u003c/li\u003e\u003cli\u003eabrir una Pull Request al repositorio de \u003ca href=\"https://github.com/r-multiverse/contributions\"\u003e\u0026ldquo;contributions\u0026rdquo;\u003c/a\u003e añadiendo un archivo de texto que contenga la URL del repositorio\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eWill también compartió una función de R que permite realizar comprobaciones del paquete localmente antes de enviarlo: \u003ca href=\"https://r-multiverse.org/multiverse.internals/reference/review_package.html\"\u003e\u003ccode\u003emultiverse.internals::review_package()\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eDurante la sesión de coworking se enviaron tres paquetes.\u003c/p\u003e\u003ch2 id=\"envíos-de-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#env%c3%ados-de-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEnvíos de paquetes\u003c/h2\u003e\u003ch3 id=\"riem-para-obtener-datos-meteorológicos-de-las-estaciones-asos-aeropuertos-a-través-de-la-iowa-environment-mesonet\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#riem-para-obtener-datos-meteorol%c3%b3gicos-de-las-estaciones-asos-aeropuertos-a-trav%c3%a9s-de-la-iowa-environment-mesonet\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eriem, para obtener datos meteorológicos de las estaciones ASOS (aeropuertos) a través de la Iowa Environment Mesonet.\u003c/h3\u003e\u003cp\u003eEnvié mi \u003ca href=\"https://github.com/r-multiverse/contributions/pull/238\"\u003epaquete riem\u003c/a\u003e que accede a datos meteorológicos de aeropuertos, aunque también se distribuye en CRAN: quería explorar diferentes vías de publicación.Como las comprobaciones automáticas (de la licencia, por ejemplo) pasaron y como soy parte de una organización de GitHub en la que confía el multiverso (ropensci) de forma pública, mi PR se fusionó automáticamente.\u003c/p\u003e\u003cp\u003eMás información sobre \u003ca href=\"https://docs.ropensci.org/riem/\"\u003eriem\u003c/a\u003e.\u003c/p\u003e\u003ch3 id=\"geotargets-que-amplía-targets-para-trabajar-con-formatos-de-datos-geoespaciales\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#geotargets-que-ampl%c3%ada-targets-para-trabajar-con-formatos-de-datos-geoespaciales\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003egeotargets, que amplía targets para trabajar con formatos de datos geoespaciales\u003c/h3\u003e\u003cp\u003eEric R. Scott envió el \u003ca href=\"https://github.com/r-multiverse/contributions/pull/239\"\u003epaquete geotargets\u003c/a\u003e que amplía targets para trabajar con formatos de datos geoespaciales, como rásters y vectores (por ejemplo, shapefiles).Eric es coautor de \u003ccode\u003egeotargets\u003c/code\u003e junto con Nick Tierney y Andrew Brown, pero Nick es el mantenedor principal.Sin embargo, está perfectamente bien que Eric haya enviado el paquete en lugar de Nick.De hecho, R-multiverse te permite contribuir con paquetes que no escribiste en absoluto \u003csup id=\"fnref:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e siempre y cuando la licencia conceda \u003ca href=\"https://en.wikipedia.org/wiki/Free_and_open-source_software\"\u003epermiso claro para distribuir y modificar el código\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eMás información sobre \u003ca href=\"https://docs.ropensci.org/geotargets/\"\u003egeotargets\u003c/a\u003e.\u003c/p\u003e\u003ch3 id=\"weathercan-para-buscar-y-descargar-datos-meteorológicos-históricos-de-environment-and-climate-change-canada-eccc\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#weathercan-para-buscar-y-descargar-datos-meteorol%c3%b3gicos-hist%c3%b3ricos-de-environment-and-climate-change-canada-eccc\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eweathercan, para buscar y descargar datos meteorológicos históricos de Environment and Climate Change Canada (ECCC)\u003c/h3\u003e\u003cp\u003eSteffi LaZerte envió su \u003ca href=\"https://github.com/r-multiverse/contributions/pull/240/\"\u003epaquete weathercan\u003c/a\u003e que también es un paquete meteorológico, ¡pero para Canadá!Steffi se preguntaba si tenía sentido enviar weathercan antes de hacer un montón de correcciones y mejoras que había planeado para las próximas semanas. Resulta que sí, ¡tiene sentido!, porque R-multiverse recogerá automáticamente la última versión.Steffi sólo tiene que acordarse de crear una nueva \u0026ldquo;release\u0026rdquo; en GitHub después de mejorar weathercan.\u003c/p\u003e\u003cp\u003eMás información sobre \u003ca href=\"https://docs.ropensci.org/weathercan/\"\u003eweathercan\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"qué-sigue-para-esos-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-sigue-para-esos-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué sigue para esos paquetes?\u003c/h2\u003e\u003cp\u003eAhora que estos paquetes están dentro, se distribuyen a través del \u003ca href=\"https://r-multiverse.org/community.html\"\u003erepositorio de \u003cstrong\u003ecomunidad\u003c/strong\u003e\u003c/a\u003e.Es como un avance de las nuevas versiones.\u003c/p\u003e\u003cp\u003eDentro de unas semanas, cuando R-multiverse empiece a construir el próximo \u003ca href=\"https://r-multiverse.org/production.html\"\u003erepositorio de \u003cstrong\u003eproducción\u003c/strong\u003e\u003c/a\u003e se comprobarán junto con otros paquetes.Si son correctos, su versión en ese momento será la que se incorpore a producción.Si hay algún problema, la persona que mantiene el paquete puede seguir introduciendo correcciones.\u003c/p\u003e\u003cp\u003eMientras esos paquetes estén listados en el R-multiverse, participarán en las instantáneas de producción trimestrales.Los mantenedores sólo tienen que seguir creando \u0026ldquo;releases\u0026rdquo; (una buena práctica de todos modos) y seguir las instrucciones de \u003ca href=\"https://r-multiverse.org/status/\"\u003eestado\u003c/a\u003e de su paquete en el multiverso.\u003c/p\u003e\u003cp\u003ePara que las personas que usan el paquete sepan que pueden instalarlo desde el repositorio de \u003ca href=\"https://r-multiverse.org/community.html\"\u003ecomunidad\u003c/a\u003e o desde el repositorio de \u003ca href=\"https://r-multiverse.org/production.html\"\u003eproducción\u003c/a\u003e las personas que mantienen los paquetes deberán actualizar las instrucciones de instalación en el archivo README de su paquete.También podrían añadir una \u003ca href=\"https://r-multiverse.org/contributors.html#badges\"\u003einsignia\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"qué-es-lo-próximo-para-el-multiverso-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-es-lo-pr%c3%b3ximo-para-el-multiverso-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué es lo próximo para el multiverso R?\u003c/h2\u003e\u003cp\u003eTras la charla en la posit conf, la \u0026ldquo;conversaciones de la comunidad\u0026rdquo; y la sesión de coworking rOpenSci, el R-multiverse pretende aumentar la participación en su sistema para fortalecerlo y diversificarlo.Los envíos de nuevos paquetes son bienvenidos, al igual que \u003ca href=\"https://github.com/r-multiverse/help\"\u003epreguntas y solicitudes de funciones\u003c/a\u003e.También puede solicitar convertirse en \u003ca href=\"https://r-multiverse.org/moderators.html\"\u003emoderador de paquetes\u003c/a\u003e para ayudar a gestionar los nuevos envíos.\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003e¡Y antes de eso en una charla en posit::conf! Esté atento a la publicación de las grabaciones de las charlas públicas en YouTube.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eO un archivo JSON un poco más complicado si el paquete está en un subdirectorio, por ejemplo.\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:3\"\u003e\u003cp\u003eLa autoría del paquete sigue siendo la misma.\u0026#160;\u003ca href=\"#fnref:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2025/10/22/paquetes-r-multiverse/","date_published":"2025-10-22T00:00:00+00:00","date_modified":"2025-10-22T13:04:15+02:00"},{"id":"https://doi.org/10.59350/19msb-yaw02","title":"Reconociendo contribuciones más allá de la autoría en los artículos de blog","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator","author"]}],"tags":["metadatos","notas técnicas","herramienta de gestión de comunidades"],"content_html":"\u003cp\u003eNuestra propia guía de desarrollo \u003ca href=\"https://devguide.ropensci.org/es/maintenance_collaboration.es.html#attributions\"\u003edice\u003c/a\u003e\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eAtribuye con generosidad\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eReconocer las diversas formas de \u003ca href=\"https://contributing.ropensci.org/\"\u003econtribuciones\u003c/a\u003e a nuestra misión es muy importante para rOpenSci:nos gusta dar las gracias \u003ca href=\"/es/blog/2018/03/16/thanking-reviewers-in-metadata/\"\u003ea quienes revisan paquetes\u003c/a\u003e y en general \u003ca href=\"/blog/2024/11/26/allcontributors/\"\u003ea todas las personas\u003c/a\u003e y \u003ca href=\"/blog/2025/05/09/ror/\"\u003eorganizaciones que contribuyen a los paquetes\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eRecientemente hemos ampliado nuestros esfuerzos para reconocer las diferentes funciones que existen al publicar un artículo en nuestro blog.\u003c/p\u003e\u003ch2 id=\"nuevos-roles-en-el-blog-personas-que-editan-traducen-y-son-entrevistadas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#nuevos-roles-en-el-blog-personas-que-editan-traducen-y-son-entrevistadas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNuevos roles en el blog: personas que editan, traducen y son entrevistadas\u003c/h2\u003e\u003cp\u003eLos metadatos de los artículos en nuestro blog ahora incluyen:\u003c/p\u003e\u003cul\u003e\u003cli\u003equién editó el artículo del blog\u003cul\u003e\u003cli\u003epor ejemplo, \u003ca href=\"/blog/2025/09/18/markdown-programmatic-parsing/\"\u003eSteffi LaZerte ha editado un artículo reciente\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003cli\u003equien tradujo la entrada del blog\u003cul\u003e\u003cli\u003epor ejemplo, \u003ca href=\"/es/blog/2025/06/23/edicion-multilingue-preguntas-frecuentes/\"\u003eYanina Bellini Saibene tradujo un post al español\u003c/a\u003e y \u003ca href=\"fr/blog/2025/06/23/publication-multilingue-faq/\"\u003eMaëlle Salmon lo tradujo al francés\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003cli\u003eque fue parte de una \u003cem\u003eentrevista\u003c/em\u003e para un blog\u003cul\u003e\u003cli\u003epor ejemplo, \u003ca href=\"/es/blog/2023/03/30/r-universe-stars-3-es/\"\u003eAthanasia Mo Mowinckel fue entrevistada en la serie Estrellas del Universo R\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLa \u0026ldquo;página de autor-a\u0026rdquo; de las personas que colaboran a nuestro blog enumera sus diversas contribuciones al contenido en el idioma actual (las autorías aparecen en primer lugar, seguidas de los otros roles):\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href=\"/author/steffi-lazerte\"\u003ePágina de autora de Steffi LaZerte\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"/es/author/yanina-bellini-saibene\"\u003ePágina de autora de Yanina Bellini Saibene en español\u003c/a\u003e\u003c/li\u003e\u003cli\u003e\u003ca href=\"/author/athanasia-mo-mowinckel/\"\u003ePágina de autora de Athanasia Mo Mowinckel\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ePara conseguir esta nueva funcionalidad, hemos\u003c/p\u003e\u003cul\u003e\u003cli\u003emodificado los diseños de Hugo (plantillas) para \u003ca href=\"https://github.com/ropensci/roweb3/blob/main/themes/ropensci/layouts/partials/blogs/blog-single.html\"\u003eartículos de blog\u003c/a\u003e y \u003ca href=\"https://github.com/ropensci/roweb3/blob/main/themes/ropensci/layouts/author/list.html\"\u003epáginas de autor-a\u003c/a\u003e.\u003c/li\u003e\u003cli\u003edocumentado los nuevos campos de metadatos correspondientes en nuestra \u003ca href=\"https://blogguide.ropensci.org/editorchecklistany.html\"\u003eguía del blog\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEstamos muy felices de poder reconocer más contribuciones a nuestro blog.\u003c/p\u003e\u003cp\u003eEsta diferenciación de funciones también nos permite analizar con mayor detalle cómo se producen las colaboraciones relacionadas con el blog entre las personas que forman parte de nuestra comunidad. Con esta información, podemos explorar distintas formas de fomentar la participación de las personas interesadas, incluyendo la mejor manera de proporcionar el apoyo necesario para una participación satisfactoria.\u003c/p\u003e\u003cp\u003eTambién esperamos que nuestros hallazgos sean útiles para otras comunidades a la hora de identificar distintos tipos de contribuciones y formas de dar crédito.\u003c/p\u003e\u003cp\u003eEl nuestros planes futuros se encuentra trabajar para incluir más de esas contribuciones en nuestro feed en \u003ca href=\"https://rogue-scholar.org/communities/ropensci/records?q=\u0026amp;l=list\u0026amp;p=1\u0026amp;s=10\u0026amp;sort=newest\"\u003eRogue Scholar\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/10/14/reconocimiento_blog/","date_published":"2025-10-14T00:00:00+00:00","date_modified":"2025-10-14T09:58:33+02:00"},{"id":"https://doi.org/10.59350/vjtk0-8wt03","title":"Todas las Formas de Editar o Analizar Programáticamente Documentos R Markdown / Quarto","language":"es","authors":[{"name":"Christophe Dervieux","url":"https://orcid.org/0000-0003-4474-2498","avatar":"https://github.com/cderv.png","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator"]},{"name":"Zhian N. Kamvar","url":"https://orcid.org/0000-0003-1458-7108","avatar":"https://github.com/zkamvar.png","_role":["author"]}],"tags":["pandoc","rmarkdown","tinkr","quarto","markdown","nota técnica","babeldown"],"content_html":"\u003cp\u003eSi la vida te da un montón de archivos Markdown para analizar o editar, ¿calientas tus músculos regex y te pones en marcha? ¿Y si utilizas herramientas más específicas? En este post, daremos una visión general de las formas programáticas para analizar y editar archivos Markdown: Markdown, R Markdown, Quarto, archivos Hugo, lo que se te ocurra.\u003c/p\u003e\u003ch2 id=\"qué-es-markdown\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-es-markdown\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué es Markdown?\u003c/h2\u003e\u003cp\u003eMarkdown es un lenguaje de marcado creado por John Gruber y Aaron Swartz. Aquí tienes un ejemplo:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-md\" data-lang=\"md\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"gh\"\u003e# Mi primer título\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eContenido, con partes en \u003cspan class=\"gs\"\u003e**negrito**\u003c/span\u003e o \u003cspan class=\"ge\"\u003e*itálico*\u003c/span\u003e.\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eTambién pongo un [\u003cspan class=\"nt\"\u003eenlace\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://ropensci.org/es\u003c/span\u003e).\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eDiferentes archivos Markdown pueden dar lugar al mismo resultado, por ejemplo, esto es equivalente a nuestro primer ejemplo:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-md\" data-lang=\"md\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eMi primer título\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e===============\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eContenido, con partes en \u003cspan class=\"gs\"\u003e__negrita__\u003c/span\u003e o \u003cspan class=\"ge\"\u003e_itálica_\u003c/span\u003e. Pongo un [\u003cspan class=\"nt\"\u003eenlace\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://ropensci.org/es\u003c/span\u003e).\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAdemás, hay diferentes \u003cem\u003esabores\u003c/em\u003e (flavors) o \u003cem\u003eespecificaciones\u003c/em\u003e (specs) de marcado \u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e que añaden alguna \u003ca href=\"https://www.markdownguide.org/extended-syntax/\"\u003esintaxis ampliada\u003c/a\u003e como los emojis escritos con dos puntos.\u003c/p\u003e\u003cp\u003eLas personas que usan R interactuarán habitualmente con diferentes sabores de Markdown a través de sus herramientas habituales:\u003c/p\u003e\u003cul\u003e\u003cli\u003eR Markdown, que utiliza Pandoc internamente,\u003c/li\u003e\u003cli\u003eQuarto (que utiliza Pandoc internamente\u0026hellip; ¿ves alguna tendencia aquí?),\u003c/li\u003e\u003cli\u003eGitHub, que utiliza \u003ca href=\"https://github.github.com/gfm/\"\u003eMarkdown con sabor a GitHub (GFM)\u003c/a\u003e,\u003c/li\u003e\u003cli\u003eMarkdown en roxygen2 que utiliza Commonmark a través de \u003ca href=\"https://cran.r-project.org/web/packages/commonmark/index.html\"\u003e{commonmark}\u003c/a\u003e,\u003c/li\u003e\u003cli\u003eHugo, por \u003ca href=\"https://pkgs.rstudio.com/blogdown/\"\u003eblogdown\u003c/a\u003e o \u003ca href=\"https://hugodown.r-lib.org/\"\u003ehugodown\u003c/a\u003e que soportan la \u003ca href=\"https://gohugo.io/content-management/formats/#markdown\"\u003eespecificaciones Commonmark y GFM\u003c/a\u003e,\u003c/li\u003e\u003cli\u003eJekyll que utiliza GFM con peculiaridades mediante \u003ca href=\"https://jekyllrb.com/docs/configuration/markdown/\"\u003ekramdown\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eMuchas herramientas que utilizan Markdown también aceptan \u003cem\u003eencabezados\u003c/em\u003e (frontmatter): metadatos en la parte superior de los archivos Markdown, por ejemplo YAML, TOML o JSON. Aquí tienes un ejemplo con un encabezado YAML:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-md\" data-lang=\"md\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e---\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003etitle: Mi cosa bonita\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eauthor: Yo misma\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e---\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003eContenido, contenido \u003cspan class=\"ge\"\u003e*bueno*\u003c/span\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eLo más habitual es que los usuarios de R escriban Markdown manualmente, o con la ayuda de un editor como el \u003ca href=\"https://quarto.org/docs/tools/positron/visual-editor.html\"\u003eeditor visual Positron\u003c/a\u003e o el editor \u003ca href=\"https://posit.co/blog/exploring-rstudio-visual-markdown-editor/\"\u003eeditor visual de RStudio\u003c/a\u003e. Pero a veces, uno tendrá que crear o editar un montón de archivos Markdown a la vez, y editar todos esos archivos a mano es una enorme pérdida de tiempo. Esta artículo te proporcionará recursos en R que puedes utilizar para crear, analizar y editar documentos Markdown, ¡para que puedas convertirte en el mago de Markdown que siempre has soñado ser \u0026#x1f9d9;!\u003c/p\u003e\u003ch3 id=\"trozos-de-código-y-programación-literaria\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#trozos-de-c%c3%b3digo-y-programaci%c3%b3n-literaria\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTrozos de código y programación literaria\u003c/h3\u003e\u003cp\u003eEn Markdown puedes añadir trozos de código, que se formatearán y resaltarán correctamente, utilizando la siguiente sintaxis:\u003c/p\u003e\u003cpre\u003e\u003ccode\u003e```r1 + 1```\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eHerramientas de programación literaria como knitr (para R Markdown y Quarto) te permitirán añadir trozos de código que se ejecutarán para renderizar el documento:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre class='chroma'\u003e\u003ccode class='language-r' data-lang='r'\u003e```{r}#| label: my-chunk#| echo: true1 + 1```\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEsta última sintaxis, los trozos de código ejecutables, no son necesariamente tratados adecuadamente por herramientas \u0026ldquo;normales\u0026rdquo; como Pandoc. Esto es algo que debes tener en cuenta si trabajas con documentos que contienen trozos de código ejecutables.\u003c/p\u003e\u003ch2 id=\"herramientas-de-creación-de-plantillas-para-documentos-repetitivos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#herramientas-de-creaci%c3%b3n-de-plantillas-para-documentos-repetitivos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eHerramientas de creación de plantillas para documentos repetitivos\u003c/h2\u003e\u003cp\u003eImagina que necesitas crear un montón de archivos R Markdown diferentes, por ejemplo para que tus estudiantes los utilicen como ejercicios personalizados. En ese caso, puedes crear un documento modelo como plantilla, y crear sus diferentes versiones de salida utilizando una herramienta de creación de plantillas.\u003c/p\u003e\u003cp\u003eEntre las herramientas de plantillas están:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href=\"https://bookdown.org/yihui/rmarkdown-cookbook/knit-expand.html\"\u003e\u003ccode\u003eknitr::knit_expand()\u003c/code\u003e\u003c/a\u003e por Yihui Xie;\u003c/li\u003e\u003cli\u003eel \u003ca href=\"https://github.com/edwindj/whisker\"\u003epaquete whisker\u003c/a\u003e mantenido por Edwin de Jonge (utilizado, por ejemplo, en pkgdown);\u003c/li\u003e\u003cli\u003eel \u003ca href=\"https://github.com/gregfrog/brew\"\u003epaquete brew\u003c/a\u003e mantenido por Greg Hunt;\u003c/li\u003e\u003cli\u003e\u003ca href=\"/blog/2023/06/01/troubleshooting-pandoc-problems-as-an-r-user/\"\u003ePandoc\u003c/a\u003e de John MacFarlane a través de su \u003ca href=\"https://pandoc.org/MANUAL.html#templates\"\u003eplantillas\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEl ejemplo más sencillo del paquete de whisker puede recordarte además el \u003ca href=\"https://glue.tidyverse.org/\"\u003epaquete glue\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eUn flujo de trabajo habitual sería\u003c/p\u003e\u003cul\u003e\u003cli\u003eCreas una plantilla en un archivo, donde las partes variables se indican mediante cadenas como \u003ccode\u003e{{name}}\u003c/code\u003e.\u003c/li\u003e\u003cli\u003eLees esta plantilla en R utilizando, por ejemplo, el \u003ca href=\"https://brio.r-lib.org/\"\u003epaquete brio\u003c/a\u003e.\u003c/li\u003e\u003cli\u003eMapea sobre tu conjunto de variables, renderiza la plantilla utilizando whisker y guarda cada versión en un archivo utilizando el paquete brio.\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"ejemplo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ejemplo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEjemplo\u003c/h3\u003e\u003cp\u003eAquí tienes un archivo Markdown de ejemplo que podemos utilizar como plantilla:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre class='chroma'\u003e\u003ccode class='language-r' data-lang='r'\u003e---title: \"Tarea 1\"author: \"{{nombre}}\"---Crea una distribución normal con una media de {{media}} y una desviación estándar de {{sd}}:```{r solution-1}# pista: usa la función rnorm```\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eUtilizando el flujo de trabajo siguiente, podemos crear distintos documentos Markdown correspondientes a distintos estudiantes.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre class='chroma'\u003e\u003ccode class='language-r' data-lang='r'\u003e\u003cspan\u003e\u003cspan class='c'\u003e# genera las variables de los estudiantes ----\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='nv'\u003eestudiantes\u003c/span\u003e \u003cspan class='o'\u003e\u0026lt;-\u003c/span\u003e \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/c.html'\u003ec\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='s'\u003e\"Maëlle\"\u003c/span\u003e, \u003cspan class='s'\u003e\"Christophe\"\u003c/span\u003e, \u003cspan class='s'\u003e\"Zhian\"\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='nv'\u003en\u003c/span\u003e \u003cspan class='o'\u003e\u0026lt;-\u003c/span\u003e \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/length.html'\u003elength\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003eestudiantes\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='nv'\u003ellave\u003c/span\u003e \u003cspan class='o'\u003e\u0026lt;-\u003c/span\u003e \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/data.frame.html'\u003edata.frame\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e  nombre \u003cspan class='o'\u003e=\u003c/span\u003e \u003cspan class='nv'\u003eestudiantes\u003c/span\u003e,\u003c/span\u003e\u003cspan\u003e  media \u003cspan class='o'\u003e=\u003c/span\u003e \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/stats/Poisson.html'\u003erpois\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003en\u003c/span\u003e, \u003cspan class='m'\u003e5\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e,\u003c/span\u003e\u003cspan\u003e  sd \u003cspan class='o'\u003e=\u003c/span\u003e \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/sprintf.html'\u003esprintf\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='s'\u003e\"%.1f\"\u003c/span\u003e, \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/stats/Uniform.html'\u003erunif\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003en\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e,\u003c/span\u003e\u003cspan\u003e  archivo \u003cspan class='o'\u003e=\u003c/span\u003e \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/sprintf.html'\u003esprintf\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='s'\u003e\"%s-hw.es.md\"\u003c/span\u003e, \u003cspan class='nv'\u003eestudiantes\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='c'\u003e# renderiza tareas usando la plantilla ----\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='nv'\u003ecrea_tarea\u003c/span\u003e \u003cspan class='o'\u003e\u0026lt;-\u003c/span\u003e \u003cspan class='kr'\u003efunction\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003ellave\u003c/span\u003e, \u003cspan class='nv'\u003eplantilla\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e \u003cspan class='o'\u003e\u0026#123;\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e  \u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/lapply.html'\u003elapply\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/seq.html'\u003eseq\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003en\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e, \u003cspan class='kr'\u003efunction\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003ei\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e \u003cspan class='o'\u003e\u0026#123;\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e    \u003cspan class='nv'\u003enew\u003c/span\u003e \u003cspan class='o'\u003e\u0026lt;-\u003c/span\u003e \u003cspan class='nf'\u003ewhisker\u003c/span\u003e\u003cspan class='nf'\u003e::\u003c/span\u003e\u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/pkg/whisker/man/whisker.render.html'\u003ewhisker.render\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003eplantilla\u003c/span\u003e, data \u003cspan class='o'\u003e=\u003c/span\u003e \u003cspan class='nv'\u003ellave\u003c/span\u003e\u003cspan class='o'\u003e[\u003c/span\u003e\u003cspan class='nv'\u003ei\u003c/span\u003e, \u003cspan class='o'\u003e]\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e    \u003cspan class='nf'\u003ebrio\u003c/span\u003e\u003cspan class='nf'\u003e::\u003c/span\u003e\u003cspan class='nf'\u003e\u003ca href='https://brio.r-lib.org/reference/write_lines.html'\u003ewrite_lines\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003enew\u003c/span\u003e, \u003cspan class='nv'\u003ellave\u003c/span\u003e\u003cspan class='o'\u003e$\u003c/span\u003e\u003cspan class='nv'\u003earchivo\u003c/span\u003e\u003cspan class='o'\u003e[\u003c/span\u003e\u003cspan class='nv'\u003ei\u003c/span\u003e\u003cspan class='o'\u003e]\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e  \u003cspan class='o'\u003e\u0026#125;\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e  \u003cspan class='kr'\u003e\u003ca href='https://rdrr.io/r/base/function.html'\u003ereturn\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/invisible.html'\u003einvisible\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='o'\u003e\u0026#125;\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='nv'\u003emd\u003c/span\u003e \u003cspan class='o'\u003e\u0026lt;-\u003c/span\u003e \u003cspan class='nf'\u003ebrio\u003c/span\u003e\u003cspan class='nf'\u003e::\u003c/span\u003e\u003cspan class='nf'\u003e\u003ca href='https://brio.r-lib.org/reference/read_lines.html'\u003eread_lines\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='s'\u003e\"hw-template.es.md\"\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='nf'\u003ecrea_tarea\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003ellave\u003c/span\u003e, plantilla \u003cspan class='o'\u003e=\u003c/span\u003e \u003cspan class='nv'\u003emd\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='nf'\u003e\u003ca href='https://rdrr.io/r/base/print.html'\u003eprint\u003c/a\u003e\u003c/span\u003e\u003cspan class='o'\u003e(\u003c/span\u003e\u003cspan class='nv'\u003ellave\u003c/span\u003e\u003cspan class='o'\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='c'\u003e#\u0026gt;       nombre media  sd             archivo\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='c'\u003e#\u0026gt; 1     Maëlle     4 0.6     Maëlle-hw.es.md\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='c'\u003e#\u0026gt; 2 Christophe     9 1.0 Christophe-hw.es.md\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003cspan class='c'\u003e#\u0026gt; 3      Zhian     7 0.8      Zhian-hw.es.md\u003c/span\u003e\u003c/span\u003e\u003cspan\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAsí son los deberes de Zhian:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre class='chroma'\u003e\u003ccode class='language-r' data-lang='r'\u003e---title: \"Tarea 1\"author: \"Zhian\"---Crea una distribución normal con una media de 7 y una desviación estándar de 0.8:```{r solution-1}# pista: usa la función rnorm```\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cdiv class=\"highlight\"\u003e\u003c/div\u003e\u003ch2 id=\"herramientas-de-manipulación-de-cadenas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#herramientas-de-manipulaci%c3%b3n-de-cadenas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eHerramientas de manipulación de cadenas\u003c/h2\u003e\u003cp\u003ePuedes utilizar herramientas de manipulación de cadenas para analizar Markdown si estás seguro de las variantes de Markdown que tu código recibirá como entrada, o si estás dispuesto a hacer crecer tu base de código para dar cabida a muchos casos extremos\u0026hellip; lo que al final significa que estás escribiendo un analizador Markdown real. No es para los débiles de corazón\u0026hellip; ni necesario si lees la sección que sigue a ésta. :aliviado:\u003c/p\u003e\u003cp\u003eDetectarías los encabezados utilizando, por ejemplo \u003ccode\u003egrep(\u0026quot;^#\u0026quot;, markdown_lines)\u003c/code\u003e \u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e.\u003c/p\u003e\u003cp\u003eAlgunos ejemplos de herramientas de manipulación de cadenas son las funciones de R base (\u003ca href=\"https://rdrr.io/r/base/grep.html\"\u003e\u003ccode\u003esub()\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://rdrr.io/r/base/grep.html\"\u003e\u003ccode\u003egrep()\u003c/code\u003e\u003c/a\u003e y amigos), \u003ca href=\"https://stringr.tidyverse.org/\"\u003estringr\u003c/a\u003e (y \u003ca href=\"https://stringi.gagolewski.com/index.html\"\u003estringi\u003c/a\u003e), \u003ca href=\"https://rdrr.io/pkg/xfun/man/gsub_file.html\"\u003e\u003ccode\u003exfun::gsub_file()\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eAunque las herramientas de manipulación de cadenas tienen una utilidad limitada al analizar Markdown, pueden \u003cem\u003ecomplementar\u003c/em\u003e las propias herramientas de análisis. Aunque utilizar herramientas específicas de análisis sintáctico de Markdown te ayudará a escribir menos expresiones regulares tú mismo\u0026hellip; no te liberarán completamente de ellas.\u003c/p\u003e\u003ch2 id=\"herramientas-de-manipulación-de-representaciones-abstractas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#herramientas-de-manipulaci%c3%b3n-de-representaciones-abstractas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eHerramientas de manipulación de representaciones abstractas\u003c/h2\u003e\u003cp\u003eLas herramientas de manipulación de representaciones abstractas son fantásticas, y numerosas. Éstas traducen el documento Markdown a una estructura de datos llamada \u003ca href=\"https://en.wikipedia.org/wiki/Abstract_syntax_tree\"\u003eabstracto abstracto (AST)\u003c/a\u003e que te proporciona un control detallado sobre elementos concretos del documento (por ejemplo, títulos individuales o enlaces, independientemente de cómo estén escritos). Con una estructura de datos formal, puedes manipular programáticamente el documento Markdown añadiendo, eliminando o manipulando piezas de Markdown de forma estandarizada.\u003c/p\u003e\u003cp\u003eAlgunas de estas herramientas te permiten leer, editar y \u003cem\u003evolver a escribir\u003c/em\u003e al documento.\u003c/p\u003e\u003cp\u003eSólo mencionaremos las herramientas que puedes utilizar directamente desde R.\u003c/p\u003e\u003ch3 id=\"ejemplo-de-uso\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ejemplo-de-uso\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEjemplo de uso\u003c/h3\u003e\u003cp\u003eSupongamos que has creado un montón de tutoriales que enlazan con un sitio web que contiene una galería de extensiones para un popular paquete de visualización de datos. Supongamos también que un día, alguien descubre que el enlace al sitio web está de repente \u003ca href=\"https://github.com/ggplot2-exts/gallery/issues/112\"\u003eredirigido a un sitio potencialmente malicioso que, con toda seguridad, no está relacionado con la gramática de los gráficos\u003c/a\u003e y tú tienes que sustituir todas las instancias de ese enlace por \u003ccode\u003e**redacted**\u003c/code\u003e. Como los enlaces en Markdown pueden escribirse de muchas maneras, las expresiones regulares no te ayudarán, ¡pero un analizador sintáctico de Markdown sí!\u003c/p\u003e\u003cp\u003eUn flujo de trabajo para esta situación sería\u003c/p\u003e\u003cul\u003e\u003cli\u003eleer el AST de Markdown con tu analizador sintáctico favorito\u003c/li\u003e\u003cli\u003esacar todos los enlaces que apunten al enlace roto\u003c/li\u003e\u003cli\u003esustituirlos por un texto enfatizado que diga \u0026ldquo;redactado\u0026rdquo;.\u003c/li\u003e\u003cli\u003econvertir el AST y volver a escribirlo en el archivo\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"tinkr\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#tinkr\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e{tinkr}\u003c/h3\u003e\u003cp\u003eEn \u003ca href=\"https://docs.ropensci.org/tinkr/\"\u003epaquete tinkr\u003c/a\u003e ideado por Maëlle Salmon y mantenido por Zhian Kamvar, transforma Markdown en XML utilizando Commonmark, y te permite extraer y manipular Markdown utilizando XPath a través del paquete \u003ca href=\"https://xml2.r-lib.org/\"\u003exml2\u003c/a\u003e. Tinkr vuelve a escribir el XML en Markdown utilizando XSLT. Los metadatos YAML están disponibles como cadena. Tinkr admite trozos de código ejecutables.\u003c/p\u003e\u003cp\u003eEl paquete tinkr se utiliza en los paquetes \u003ca href=\"https://docs.ropensci.org/babeldown/\"\u003ebabeldown\u003c/a\u003e y \u003ca href=\"https://docs.ropensci.org/aeolus/\"\u003eeolo\u003c/a\u003e.\u003c/p\u003e\u003ch3 id=\"md4r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#md4r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e{md4r}\u003c/h3\u003e\u003cp\u003eEn \u003ca href=\"https://rundel.github.io/md4r/\"\u003epaquete md4r\u003c/a\u003e es un paquete experimental mantenido por Colin Rundel. Es una envoltura en R de la biblioteca MD4C (Markdown para C) y representa el AST como una lista anidada con atributos en R. La versión de desarrollo del paquete tiene utilidades para construir documentos Markdown mediante programación.\u003c/p\u003e\u003ch3 id=\"pandoc\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pandoc\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePandoc\u003c/h3\u003e\u003cp\u003eCon Pandoc que presentamos en un \u003ca href=\"/blog/2023/06/01/troubleshooting-pandoc-problems-as-an-r-user/\"\u003enota técnica\u003c/a\u003e puedes convertir un archivo Markdown en un Árbol de Sintaxis Abstracta Pandoc (en su formato nativo o en JSON).\u003c/p\u003e\u003cp\u003e¿Cómo utilizarías Pandoc para editar y volver a escribir un archivo Markdown?\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eUtilizando filtros Lua: Pandoc convierte a AST en su formato nativo, los filtros Lua permiten procesarlo para retocarlo, y luego Pandoc puede volver a escribir a markdown.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eUtilizando filtros JSON: Pandoc convierte a AST generando una representación JSON del mismo, luego cualquier herramienta puede modificar este archivo JSON y proporcionar una versión modificada a Pandoc para que lo convierta de nuevo a markdown.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTen en cuenta que Pandoc no admite trozos de código ejecutable, ya que no podrá analizar trozos de código ejecutable como \u003ccode\u003eCodeblock\u003c/code\u003e.\u003c/p\u003e\u003ch3 id=\"parseqmd\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#parseqmd\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e{parseqmd}\u003c/h3\u003e\u003cp\u003eNic Crane tiene un paquete experimental llamado \u003ca href=\"https://github.com/thisisnic/parseqmd\"\u003eparseqmd\u003c/a\u003e que utiliza esta estrategia, analizando la salida con el paquete \u003ca href=\"https://jeroen.r-universe.dev/jsonlite\"\u003ejsonlite\u003c/a\u003e. También puedes convertirlo, por ejemplo, a HTML, y luego volver a Markdown. La ventaja de convertirlo a HTML es que puedes utilizar un paquete como \u003ca href=\"https://xml2.r-lib.org/\"\u003exml2\u003c/a\u003e o \u003ca href=\"https://rvest.tidyverse.org/\"\u003ervest\u003c/a\u003e para extraer y manipular los elementos.\u003c/p\u003e\u003ch3 id=\"parsermd\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#parsermd\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e{parsermd}\u003c/h3\u003e\u003cp\u003eEl paquete \u003ca href=\"https://rundel.github.io/parsermd/\"\u003eparsermd\u003c/a\u003e es otro paquete mantenido por Colin Rundel y es una \u0026ldquo;implementación de una gramática formal y un analizador sintáctico para documentos R Markdown utilizando la biblioteca Boost Spirit X3\u0026rdquo;. También incluye una colección de funciones de alto nivel para trabajar con el árbol sintáctico abstracto resultante\u0026quot;.\u003c/p\u003e\u003cp\u003eEste paquete tiene funciones para un flujo de trabajo ordenado que te permiten seleccionar distintas secciones del documento. Una característica útil es que tiene la función \u003ca href=\"https://rundel.github.io/parsermd/articles/templates.html\"\u003e\u003ccode\u003ermd_check_template()\u003c/code\u003e\u003c/a\u003e que te permite comparar los envíos Markdown de tus estudiantes con una plantilla estándar. Puedes ver su charla en \u003ca href=\"https://posit.co/resources/videos/parsermd-parsing-r-markdown-for-fun-and-profit/\"\u003eRStudio::conf(2021) donde presenta este tema\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eEl paquete parsermd te permite incluso \u003ca href=\"https://github.com/rundel/parsermd/issues/21\"\u003emodificar documentos\u003c/a\u003e.\u003c/p\u003e\u003ch3 id=\"lightparser\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lightparser\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e{lightparser}\u003c/h3\u003e\u003cp\u003eEl paquete \u003ca href=\"https://cloud.r-project.org/web/packages/lightparser/index.html\"\u003elightparser\u003c/a\u003e de Sébastien Rochette \u0026ldquo;divide tus archivos rmarkdown o quarto por secciones en un tibble: títulos, texto, trozos; reconstruye el archivo a partir del tibble\u0026rdquo;. Puede utilizarse para \u003ca href=\"https://edenian-prince.github.io/blog/posts/2024-08-21-translate-md-files/\"\u003etraducir documentos\u003c/a\u003e por ejemplo.\u003c/p\u003e\u003ch3 id=\"la-imposibilidad-de-una-ida-y-vuelta-perfecta\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-imposibilidad-de-una-ida-y-vuelta-perfecta\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa imposibilidad de una ida y vuelta perfecta\u003c/h3\u003e\u003cp\u003eAl analizar y editar Markdown, y luego escribirlo de nuevo en Markdown, pueden aparecer algunos cambios no deseados. Por ejemplo, con \u003ca href=\"https://docs.ropensci.org/tinkr/#general-principles-and-solution\"\u003etinkr\u003c/a\u003e todos los elementos de la lista empiezan por \u003ccode\u003e-\u003c/code\u003e aunque en el documento original empezaran por \u003ccode\u003e*\u003c/code\u003e. Con md4r, se reajustarán las listas que tengan sangría con espacio de más.\u003c/p\u003e\u003cp\u003eDependiendo de tu caso de uso, puede que quieras encontrar formas de mitigar esas pérdidas, por ejemplo, reescribiendo sólo las líneas en las que hiciste ediciones intencionadas.\u003c/p\u003e\u003ch3 id=\"cómo-elegir-un-analizador-sintáctico\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-elegir-un-analizador-sint%c3%a1ctico\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo elegir un analizador sintáctico?\u003c/h3\u003e\u003cp\u003ePuedes elegir un analizador en función de con qué te permita manipular el Markdown: si prefieres XML \u003csup id=\"fnref:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e y HTML a las listas anidadas, por ejemplo, puede que prefieras utilizar tinkr o Pandoc. Si las funciones de alto nivel de md4r o parsermd son adecuadas para tu caso de uso, puede que prefieras uno de ellos.\u003c/p\u003e\u003cp\u003eEs importante que, si tus documentos contienen trozos de código ejecutable, utilices una herramienta que los admita, como parsermd, lightparser, tinkr.\u003c/p\u003e\u003cp\u003eOtro criterio importante es elegir un analizador sintáctico lo más parecido posible al caso de uso de tus archivos Markdown. Si sólo vas a trabajar con archivos Markdown para GitHub, commonmark/tinkr es una opción excelente, ya que el propio GitHub utiliza commonmark. Ahora bien, tu trabajo puede abarcar diferentes tipos de archivos Markdown que serán utilizados por diferentes herramientas. Por ejemplo, \u003ca href=\"https://docs.ropensci.org/babeldown/\"\u003ebabeldown\u003c/a\u003e procesa cualquier archivo Markdown \u003csup id=\"fnref:4\"\u003e\u003ca href=\"#fn:4\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e4\u003c/a\u003e\u003c/sup\u003e: Markdown, R Markdown, Quarto, Hugo. En ese caso, o si no hay un analizador sintáctico de R que haga exactamente lo que hace el usuario final de tu Markdown, tienes que prestar atención a las peculiaridades de ese usuario final. Quizá tengas que lanzar \u003ca href=\"/blog/2023/06/01/troubleshooting-pandoc-problems-as-an-r-user/#raw-attributes\"\u003ePandoc atributos brutos\u003c/a\u003e alrededor de un shortcode Hugo, por ejemplo. Además, si necesitas analizar ciertos elementos, como de nuevo los atajos de códigos de Hugo, puede que tengas que escribir tú mismo el código de análisis, es decir, las expresiones regulares.\u003c/p\u003e\u003ch2 id=\"qué-pasa-con-los-trozos-de-código\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-pasa-con-los-trozos-de-c%c3%b3digo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué pasa con los trozos de código?\u003c/h2\u003e\u003cp\u003eEl análisis sintáctico y la edición programática del código R están fuera del alcance de este artículo, pero están lo suficientemente relacionados como para dar algunos consejos.\u003c/p\u003e\u003ch3 id=\"expresiones-regulares\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#expresiones-regulares\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eExpresiones regulares\u003c/h3\u003e\u003cp\u003eAl igual que con Markdown, puede que necesites utilizar expresiones regulares, pero es un enfoque arriesgado ya que, por ejemplo \u003ccode\u003eplot (x)\u003c/code\u003e y \u003ccode\u003eplot(x)\u003c/code\u003e son ambas llamadas a funciones válidas en R.\u003c/p\u003e\u003ch3 id=\"xmlparsedata\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#xmlparsedata\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e{xmlparsedata}\u003c/h3\u003e\u003cp\u003ePuedes analizar el código en XML utilizando el análisis sintáctico de R base y \u003ca href=\"https://r-lib.github.io/xmlparsedata/\"\u003exmlparsedata\u003c/a\u003e y luego manipular el XML con \u003ca href=\"https://masalmon.eu/2022/04/08/xml-xpath/\"\u003eXPath\u003c/a\u003e. Para volver a escribir código, puedes utilizar los atributos de cada nodo que indican las líneas y columnas originales.\u003c/p\u003e\u003cp\u003eAsí que un posible flujo de trabajo, como se ejemplifica en el \u003ca href=\"https://masalmon.eu/2024/05/15/refactoring-xml/\"\u003eejemplo de Maëlle\u003c/a\u003e.\u003c/p\u003e\u003cul\u003e\u003cli\u003eparsear el código a XML, utilizar xmlparsedata para informar qué cambiar y dónde. De estos pasos obtendrías una lista de posiciones de elementos, por ejemplo.\u003c/li\u003e\u003cli\u003eutilizar brio para leer las líneas, cambiar algunas de ellas con herramientas básicas de R, y volver a utilizar brio para escribir las líneas.\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"treesitter\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#treesitter\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e{treesitter}\u003c/h3\u003e\u003cp\u003e\u003ca href=\"https://github.com/DavisVaughan/r-tree-sitter\"\u003etreesitter\u003c/a\u003e de Davis Vaughan \u0026ldquo;proporciona enlaces de R a tree-sitter, un sistema de análisis incremental\u0026rdquo;.\u003c/p\u003e\u003ch2 id=\"qué-pasa-con-los-metadatos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-pasa-con-los-metadatos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué pasa con los metadatos?\u003c/h2\u003e\u003cp\u003eHemos dedicado todo este post al \u003cem\u003ecuerpo\u003c/em\u003e de los documentos Markdown. ¿Qué pasa con los metadatos contenidos en su encabezados, como:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nn\"\u003e---\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003etitle\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;Cool doc\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003eauthor\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\u0026#34;Jane Doe\u0026#34;\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nn\"\u003e---\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ePara extraer o editar metadatos YAML/TOML/JSON, primero tienes que decapitar los documentos Markdown. Por ejemplo, rmarkdown tiene una función llamada \u003ca href=\"https://pkgs.rstudio.com/rmarkdown/reference/yaml_front_matter.html\"\u003e\u003ccode\u003ermarkdown::yaml_front_matter()\u003c/code\u003e\u003c/a\u003e para extraer los metadatos YAML de un documento Markdown de R; el paquete R quarto tiene una función llamada \u003ca href=\"https://quarto-dev.github.io/quarto-r/reference/quarto_inspect.html\"\u003e\u003ccode\u003equarto::quarto_inspect()\u003c/code\u003e\u003c/a\u003e que, entre otras cosas, extrae los metadatos.\u003c/p\u003e\u003cp\u003ePuedes leer las \u003cem\u003elíneas\u003c/em\u003e del documento Markdown utilizando \u003ca href=\"https://rdrr.io/r/base/readLines.html\"\u003e\u003ccode\u003ereadLines()\u003c/code\u003e\u003c/a\u003e o \u003ca href=\"https://brio.r-lib.org/reference/read_lines.html\"\u003e\u003ccode\u003ebrio::read_lines()\u003c/code\u003e\u003c/a\u003e antes de recurrir a expresiones regulares para identificar el inicio y el final del encabezado en función de su formato.\u003c/p\u003e\u003cp\u003eEntonces, para manejar YAML utilizarías \u003ca href=\"https://github.com/vubiostat/r-yaml/\"\u003e{yaml}\u003c/a\u003e, para manejar TOML podrías utilizar \u003ca href=\"https://github.com/extendr/tomledit\"\u003e{tomledit}\u003c/a\u003e o \u003ca href=\"https://cran.r-project.org/web/packages/RcppTOML/index.html\"\u003e{RcppTOML}\u003c/a\u003e. Para manejar JSON podrías utilizar \u003ca href=\"https://jeroen.r-universe.dev/jsonlite\"\u003e{jsonlite}\u003c/a\u003e.\u003c/p\u003e\u003cp\u003ePor último, si necesitas volver a escribir el documento Markdown, volverías a escribir sus líneas utilizando \u003ca href=\"https://rdrr.io/r/base/writeLines.html\"\u003e\u003ccode\u003ewriteLines()\u003c/code\u003e\u003c/a\u003e o \u003ca href=\"https://brio.r-lib.org/reference/write_lines.html\"\u003e\u003ccode\u003ebrio::write_lines()\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"ejemplos-de-análisis-y-edición-de-markdown\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ejemplos-de-an%c3%a1lisis-y-edici%c3%b3n-de-markdown\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEjemplos de análisis y edición de Markdown\u003c/h2\u003e\u003cp\u003eEl \u003ca href=\"https://carpentries.github.io/pegboard/\"\u003epaquete pegboard\u003c/a\u003e creado por Zhian Kamvar y mantenido por The Carpentries, analiza y valida las lecciones de Carpentries en busca de elementos estructurales de Markdown, incluyendo enlaces válidos, alt-text y los conocidos fenced-divs gracias a tinkr. Este paquete fue fundamental para convertir toda la infraestructura de las lecciones de The Carpentries de la sintaxis Markdown de Jekyll a Markdown de Pandoc. \u003csup id=\"fnref:5\"\u003e\u003ca href=\"#fn:5\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e5\u003c/a\u003e\u003c/sup\u003e .\u003c/p\u003e\u003cp\u003eEn \u003ca href=\"https://docs.ropensci.org/babeldown/\"\u003epaquete babeldown\u003c/a\u003e mantenido por Maëlle Salmon transforma Markdown en XML, lo envía a la API DeepL para su traducción, y escribe los resultados de nuevo en Markdown, también utilizando tinkr.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn este post hemos explicado la mejor forma de analizar y editar archivos Markdown. Para crear documentos repetitivos (como mailmerge), recomendamos herramientas de plantillas como \u003ca href=\"https://bookdown.org/yihui/rmarkdown-cookbook/knit-expand.html\"\u003e\u003ccode\u003eknitr::knit_expand()\u003c/code\u003e\u003c/a\u003e, el \u003ca href=\"https://github.com/edwindj/whisker\"\u003epaquete whisker\u003c/a\u003e, el \u003ca href=\"https://github.com/gregfrog/brew\"\u003epaquete brebaje\u003c/a\u003e y Pandoc. Para editar pequeñas partes de un documento, utilizamos herramientas de manipulación de cadenas, es decir, expresiones regulares, con las funciones de R base (\u003ca href=\"https://rdrr.io/r/base/grep.html\"\u003e\u003ccode\u003esub()\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://rdrr.io/r/base/grep.html\"\u003e\u003ccode\u003egrep()\u003c/code\u003e\u003c/a\u003e y amigos), \u003ca href=\"https://stringr.tidyverse.org/\"\u003estringr\u003c/a\u003e (y stringi), \u003ca href=\"https://rdrr.io/pkg/xfun/man/gsub_file.html\"\u003e\u003ccode\u003exfun::gsub_file()\u003c/code\u003e\u003c/a\u003e. Para una manipulación más pesada y segura, enumeramos herramientas basadas en herramientas que manipulan la representación abstracta de los documentos: tinkr, md4r, Pandoc, parseqmd, parsermd, lightparser. También mencionamos herramientas para trabajar con el \u003cem\u003ecódigo R\u003c/em\u003e dentro de las celdas de código, y para trabajar con el \u003cem\u003efrontmatter\u003c/em\u003e YAML/TOML/JSON.\u003c/p\u003e\u003cp\u003e¿Qué es lo que \u003cem\u003etú\u003c/em\u003e utilizas para manejar archivos Markdown?\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eA 2024-06-20, hay \u003ca href=\"https://web.archive.org/web/20250328101117/https://github.com/markdown/markdown.github.com/wiki/Implementations\"\u003e76 programas que analizan Markdown\u003c/a\u003e algunos con su propio sabor único.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003e¡Pero esto también detectaría los comentarios del código! ¡No lo hagas!\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:3\"\u003e\u003cp\u003eTanto Maëlle como Zhian son \u003cem\u003eenormes\u003c/em\u003e fans de XML y XPath (ver: \u003ca href=\"https://masalmon.eu/2022/04/08/xml-xpath/\"\u003ehttps://masalmon.eu/2022/04/08/xml-xpath/\u003c/a\u003e y \u003ca href=\"https://zkamvar.netlify.app/blog/gh-task-lists/\"\u003ehttps://zkamvar.netlify.app/blog/gh-task-lists/\u003c/a\u003e).\u0026#160;\u003ca href=\"#fnref:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:4\"\u003e\u003cp\u003eO al menos eso se supone \u0026#x1f605; Afortunadamente, los usuarios informan de casos extremos que aún no están cubiertos.\u0026#160;\u003ca href=\"#fnref:4\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:5\"\u003e\u003cp\u003ePara ver ejemplos, consulta \u003ca href=\"https://carpentries.github.io/workbench/transition-guide.html\"\u003e\u003cem\u003eThe Carpentries Workbench Transition Guide\u003c/em\u003e\u003c/a\u003e.\u0026#160;\u003ca href=\"#fnref:5\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2025/09/18/markdown-programatico/","date_published":"2025-09-18T00:00:00+00:00","date_modified":"2025-09-18T09:42:10+02:00"},{"id":"https://doi.org/10.59350/bnkkw-pe966","title":"Ciencia abierta con identidad latinoamericana: conocé al nuevo grupo de personas y proyectos del Programa de Campeon(e|a)s de rOpenSci","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["editor"]},{"name":"Ana Carolina Moreno","url":"https://ropensci.org/es/author/ana-carolina-moreno/","avatar":"https://github.com/anacarolinamoreno.png","_role":["author"]},{"name":"Diana Garcia Cortes","url":"https://orcid.org/0000-0003-1562-7319","avatar":"https://github.com/ddiannae.png","_role":["author"]},{"name":"Erick Navarro Delgado","url":"https://orcid.org/0000-0003-1040-3519","avatar":"https://github.com/ErickNavarroD.png","_role":["author"]},{"name":"Guadalupe Pascal","url":"https://ropensci.org/es/author/guadalupe-pascal/","avatar":"https://github.com/guadapascal.png","_role":["author"]},{"name":"Juan Camilo Rojas Hernandez","url":"https://ropensci.org/es/author/juan-camilo-rojas-hernandez/","avatar":"https://github.com/camilorojas91.png","_role":["author"]},{"name":"Mauro Loprete","url":"https://ropensci.org/es/author/mauro-loprete/","avatar":"https://github.com/mauroloprete.png","_role":["author"]},{"name":"Monika Avila Marquez","url":"https://orcid.org/0009-0004-7720-6135","avatar":"https://github.com/monikavila.png","_role":["author"]},{"name":"Soledad Araya Orrego","url":"https://ropensci.org/es/author/soledad-araya-orrego/","avatar":"https://github.com/snaraya.png","_role":["author"]},{"name":"Valentina Clavijo Mesa","url":"https://ropensci.org/es/author/valentina-clavijo-mesa/","avatar":"https://github.com/Valentina9619.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["programa campeones","comunidad"],"content_html":"\u003cp\u003eNos alegra muchísimo presentar a las nuevas personas que se suman como Campeones y Campeonas de rOpenSci. Este grupo experimentará el programa y trabajará en español, lo que nos permite seguir fortaleciendo la comunidad de ciencia abierta y desarrollo de software de investigación en este idioma. Nos llenan de entusiasmo los proyectos que van a desarrollar, que abordan desafíos reales desde distintas disciplinas y territorios de América Latina.\u003c/p\u003e\u003cp\u003eTe invitamos a conocer a cada una de estas personas y los proyectos en los que trabajaran a lo largo del programa.\u003c/p\u003e\u003ch2 id=\"ana-carolina-moreno\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ana-carolina-moreno\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAna Carolina Moreno\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/ana-carolina-moreno.jpeg\"\t\t\talt=\"Foto de perfil de Ana Carolina Moreno\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eAna Carolina Moreno \u003c/br\u003e Periodista de datos \u003c/br\u003e Directora en Abraji \u003c/br\u003e Co-organizadora de R-Ladies São Paulo\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy periodista de datos en Brasil y he trabajado 20 años en redacciones periodísticas o como reportera freelance, incluyendo 13 años en TV Globo/g1, el principal grupo de comunicación del país. Desde el 2018 uso R para hacer análisis estadísticos y crear visualizaciones de datos para reportajes.\u003c/p\u003e\u003cp\u003eActualmente soy alumna del Programa Lede de Periodismo de Datos de Columbia University, en Nueva York, una de las directoras de la Associación Brasileña de Periodismo Investigativo (Abraji) y co-organizadora de R-Ladies São Paulo.\u003c/p\u003e\u003cp\u003eDurante el Programa de rOpenSci, mi desafío será revisar y actualizar el paquete \u003ca href=\"https://github.com/ipeaGIT/geobr\"\u003egeobr\u003c/a\u003e, creado por \u003ca href=\"https://www.urbandemographics.org\"\u003eRafael Pereira\u003c/a\u003e, de Ipea, y usado por investigadores y periodistas de todo el mundo para generar mapas de los territorios brasileños.\u003c/p\u003e\u003cp\u003eMe apunté al programa porque creo que es una rica oportunidad para nuevos aprendizajes en R y en el mundo de los paquetes y para colaborar más íntimamente con la comunidad de R en Latinoamérica.\u003c/p\u003e\u003ch2 id=\"diana-garcía-cortes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#diana-garc%c3%ada-cortes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDiana García Cortes\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/diana-garcia.jpg\"\t\t\talt=\"Foto de perfil de Diana García Cortes\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eDiana García Cortes\u003c/br\u003e Dana-Farber Cancer Institute \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy bióloga computacional mexicana trabajando en el Breast Oncology Program del Dana-Farber Cancer Institute en Boston. Me gradué como Ingeniera en Tecnologías Computacionales y tengo una maestría en Ciencias de la Computación y un doctorado en Ciencias Biomédicas.\u003c/p\u003e\u003cp\u003eMe apasiona aplicar mis habilidades en programación al servicio de la investigación en genómica del cáncer. Mi proyecto consiste en desarrollar un paquete para facilitar el acceso a los datos del Metastatic Breast Cancer Project, una iniciativa conjunta del Dana-Farber Cancer Institute, el Broad Institute y la organización Count Me In, cuyo objetivo es acelerar la investigación en cáncer de mama metastásico a través de la integración de un dataset con datos genómicos y clínicos, formado gracias a la colaboración de pacientes y asociaciones de acompañamiento.\u003c/p\u003e\u003cp\u003eMe emociona ser parte del Program de Campeon(e|a)s por la oportunidad de aprender en comunidad, de recibir retroalimentación de mi trabajo y hacer aportaciones en ciencia y datos abiertos y aprender y colaborar con la comunidad de rOpenSci.\u003c/p\u003e\u003ch2 id=\"erick-navarro-delgado\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#erick-navarro-delgado\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eErick Navarro Delgado\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/erick-navarro-delgado.jpg\"\t\t\talt=\"Foto de perfil de Erick Navarro Delgado\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eErick Navarro Delgado \u003c/br\u003e The University of British Columbia \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Mi nombre es Erick Navarro, y soy licenciado en biología por la Universidad Nacional Autónoma de México, y candidato a Doctor en Bioinformática por The University of British Columbia. Nací y crecí en la Ciudad de México, pero actualmente vivo en Vancouver, estudiando mi posgrado. Mi proyecto del doctorado está enfocado en desarrollar herramientas computacionales en R para integrar datos del genoma, exposoma y metiloma con el objetivo de entender los factores que contribuyen a la variabilidad en la metilación del ADN en humanos.\u003c/p\u003e\u003cp\u003eMe entusiasma participar en el programa de rOpenSci porque creo que la ciencia abierta y accesible es esencial para realizar investigación relevante para todos los individuos en nuestra sociedad. En este programa espero conectar con personas de la comunidad de programación en R, mejorar mis prácticas como programador, y desarrollar herramientas que me permitan impulsar el desarrollo de software en Latinoamérica.\u003c/p\u003e\u003ch2 id=\"guadalupe-pascal\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#guadalupe-pascal\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGuadalupe Pascal\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/guadalupe-pascal.jpg\"\t\t\talt=\"Foto de perfil de Guadalupe Pascal\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eGuadalupe Pascal \u003c/br\u003e UNLZ-UCA-UGR \u003c/br\u003e Programa de Doctorado TICs URJC \u003c/br\u003e CALMatilda \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Soy Guadalupe Pascal, investigadora en ciencia de datos aplicada a la toma de decisiones en empresas y sistemas sociales, siempre con una mirada situada en el Sur Global. Me apasiona impulsar y formar parte de proyectos colaborativos con enfoque interdisciplinario, ciencia abierta y justicia epistémica. Mis intereses de investigación incluyen modelado matemático, aprendizaje automático, procesamiento de lenguaje natural (NLP), neurociencia cognitiva, género y educación en ingeniería.\u003c/p\u003e\u003cp\u003eSoy Ingeniera Industrial por la Universidad Nacional de Lomas de Zamora (Argentina), Máster en Ingeniería de Sistemas de Decisión por la Universidad Rey Juan Carlos (España), y actualmente curso el Doctorado en Tecnologías de la Información y las Comunicaciones (URJC) y en Ingeniería (UNLZ).\u003c/p\u003e\u003cp\u003eTrabajo como Profesora Asociada de Investigación Operativa en la UNLZ y la Universidad Católica Argentina (UCA), dicto cursos de Ciencia de Datos y Aprendizaje Automático en la Universidad Gran Rosario (UGR), y participo activamente en la Cátedra Abierta Latinoamericana Matilda y las Mujeres en Ingeniería.\u003c/p\u003e\u003cp\u003eEstoy entusiasmada especialmente por formar parte del Programa de rOpenSci para contribuir al desarrollo de recursos accesibles que promuevan el uso democrático de la inteligencia artificial en español. Creo firmemente que en contextos desafiantes como el latinoamericano, la ciencia abierta nos ofrece un medio posible para que nos desarrollemos como comunidad.\u003c/p\u003e\u003ch2 id=\"juan-camilo-rojas-hernandez\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#juan-camilo-rojas-hernandez\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eJuan Camilo Rojas Hernandez\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/juan-camilo-rojas-hernandez.jpg\"\t\t\talt=\"Foto de perfil de Juan Camilo Rojas Hernandez\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eJuan Camilo Rojas Hernandez \u003c/br\u003e Consultor en análisis de datos de salud pública \u003c/br\u003e Organización Panamericana de la Salud (OPS) \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola, soy Juan Camilo Rojas Hernández, de Colombia. Actualmente trabajo como consultor internacional para la Organización Panamericana de la Salud (OPS). Mi experiencia se centra en el análisis de datos para vigilancia en salud pública, con especial interés en herramientas de código abierto.\u003c/p\u003e\u003cp\u003eMi proyecto en el programa de rOpenSci consiste en desarrollar un paquete en R que automatice procesos de vigilancia epidemiológica, depuración de datos y generación de análisis específicos para las instituciones públicas de Salud en Colombia. Este paquete busca mejorar los tiempos de respuesta en campo y fortalecer el uso de datos abiertos y fuentes oficiales.\u003c/p\u003e\u003cp\u003eMe motivé a postularme porque considero que esta es una gran oportunidad para aprender buenas prácticas de desarrollo de paquetes en R y para crear herramientas que generen impacto real en la salud pública de mi país. Además, espero poder replicar este conocimiento en comunidades locales y contribuir a una red latinoamericana de investigadores en epidemiología comprometidos con la ciencia abierta.\u003c/p\u003e\u003ch2 id=\"lucía-inés-rodríguez-planes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#luc%c3%ada-in%c3%a9s-rodr%c3%adguez-planes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLucía Inés Rodríguez Planes\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/lucia-ines-rodriguez-planes.jpeg\"\t\t\talt=\"Foto de perfil de Lucía Inés Rodríguez Planes\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eLucía Inés Rodríguez Planes \u003c/br\u003e Administración de Parques Nacionales \u003c/br\u003e R-Ladies Ushuaia \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy bióloga, docente universitaria y trabajo en conservación de fauna en la Patagonia austral de Argentina. Mi formación de grado y doctorado fue en la Universidad de Buenos Aires aplicando la investigación en dinámica de poblaciones al manejo de situaciones de interés epidemiológico y para la conservación.\u003c/p\u003e\u003cp\u003eActualmente me desempeño en la Administración de Parques Nacionales como Especialista de aplicación científica a la conservación. He usado R para analizar datos espaciales y temporales provenientes de cámaras trampa, monitoreos de fauna de largo plazo y evaluaciones de planes de manejo de especies exóticas invasoras. Enseño ecología a estudiantes de grado y posgrado, a técnicos y guardaparques; y participo en espacios que promueven la inclusión de mujeres y diversidades en ciencia y tecnología, como R-Ladies Ushuaia.\u003c/p\u003e\u003cp\u003eProyecto desarrollar un paquete que sea la puerta de entrada a soluciones basadas en código para agentes de conservación con poca experiencia en uso de R. Íntegramente escrito en español y con ejemplos completos demostrativos, deseo que se constituya en la caja de herramientas inicial de usuarias y usuarios nuevos, a partir del cual poder construir flujos de trabajo más complejos y específicos para casos particulares. Participando del Programa Campeon(a|e)s busco aprender cómo propiciar el diálogo efectivo entre la gestión y la investigación, proponer procesos y promover modos de trabajo para fortalecer las capacidades locales instaladas que puedan ser sostenidos en el tiempo.\u003c/p\u003e\u003ch2 id=\"maria-valentina-clavijo-mesa\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#maria-valentina-clavijo-mesa\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMaria Valentina Clavijo Mesa\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/maria-valentina-clavijo-mesa.png\"\t\t\talt=\"Foto de perfil de Maria Valentina Clavijo Mesa\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMaria Valentina Clavijo Mesa \u003c/br\u003eLASAR3. R-Ladies Medellín  \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola, mi nombre es Valentina Clavijo y soy estudiante de doctorado en el Politécnico de Milán (Italia). Desarrollo mi proyecto de doctorado en el laboratorio LASAR3, enfocado en el análisis y la evaluación de la confiabilidad, el riesgo y la resiliencia de sistemas complejos. Soy originaria de Medellín, Colombia y actualmente resido en Milán. Además, soy cofundadora del capítulo de R-Ladies Medellín, desde donde se promueve activamente la participación de mujeres y personas subrepresentadas en ciencia de datos y programación en R.\u003c/p\u003e\u003cp\u003eMi proyecto para el programa de campeon(e|a)s consiste en desarrollar un paquete en R que facilite el análisis de datos históricos de cambio climático y la evaluación de la probabilidad de eventos extremos en diferentes regiones del mundo. Espero que este paquete pueda ser útil para investigadores y tomadores de decisiones que trabajan con datos inciertos y fenómenos meteorológicos complejos.\u003c/p\u003e\u003cp\u003eMe postulé al programa porque creo profundamente que la ciencia debe ser abierta y compartida, y porque quiero seguir fortaleciendo mis habilidades técnicas y comunitarias. Espero aprender sobre buenas prácticas en desarrollo de software, publicación de paquetes, y también conectar con una red diversa de personas que creen en el poder del conocimiento colaborativo.\u003c/p\u003e\u003ch2 id=\"mauro-loprete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mauro-loprete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMauro Loprete\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/mauro-loprete.jpg\"\t\t\talt=\"Foto de perfil de Mauro Loprete\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMauro Loprete \u003c/br\u003e UDELAR-IESTA \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy Mauro Loprete, \u003ca href=\"https://fcea.udelar.edu.uy/depto-met-cuant-ensenanza/licenciatura-en-estadistica.html\"\u003eLicenciado en Estadística por la Universidad de la República (UDELAR)\u003c/a\u003e, Uruguay, donde actualmente soy profesor ayudante en cursos de estadística computacional, ciencia de datos y aprendizaje automático con R. Vivo en Montevideo y me dedico tanto a la docencia como al desarrollo de herramientas abiertas para el análisis de datos.\u003c/p\u003e\u003cp\u003eComo Champion de rOpenSci, mi proyecto es el desarrollo de \u003ca href=\"https://metasurveyr.github.io/metasurvey/\"\u003emetasurvey\u003c/a\u003e, un paquete de R diseñado para facilitar el análisis reproducible de encuestas con diseños muestrales complejos. El paquete permite crear flujos de trabajo flexibles y automatizados para cargar, procesar y analizar encuestas a lo largo del tiempo, incorporando técnicas de remuestreo y metaprogramación. metasurvey fue creado como parte de mi trabajo final de grado en la Licenciatura en Estadística.\u003c/p\u003e\u003cp\u003eMe postulé al programa porque quiero fortalecer mis habilidades en el desarrollo de paquetes y contribuir activamente al ecosistema R desde Uruguay. Espero aprender de la experiencia y guía de la comunidad rOpenSci, y también compartir lo aprendido con estudiantes y colegas, impulsando una cultura de ciencia abierta y colaboración en mi universidad y en la región.\u003c/p\u003e\u003cp\u003eAdemás, mi participación en el programa representa un paso pionero dentro de mi institución: sería el primer estudiante de grado en desarrollar un paquete de R con alcance público y contribuir activamente a una comunidad internacional de código abierto. Aspiro a que esta experiencia motive a otros estudiantes y docentes a involucrarse en el desarrollo de software libre y en prácticas reproducibles de investigación.\u003c/p\u003e\u003ch2 id=\"monika-avila-marquez\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#monika-avila-marquez\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMonika Avila Marquez\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/monika-avila-marquez.jpeg\"\t\t\talt=\"Foto de perfil de Monika Avila Marquez\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMonika Avila Marquez \u003c/br\u003e Universidad de Ginebra \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola, soy econometrista con un doctorado en Econometría de la Universidad de Ginebra.  Actualmente, me desempeño como Investigadora Postdoctoral en Estadística en la misma universidad.\u003c/p\u003e\u003cp\u003eMi especialidad es el análisis de datos de panel (longitudinales) y el uso de técnicas de aprendizaje automático para estimar modelos econométricos.\u003c/p\u003e\u003cp\u003eMi investigación también se centra en la selección de modelos para modelos de efectos mixtos.\u003c/p\u003e\u003cp\u003eEn la actualidad, desarrollo un nuevo paquete en R orientado a facilitar la selección del mejor modelo de efectos aleatorios cruzados. La selección del modelo de efectos mixtos más adecuado es un problema muy común en áreas como educación, salud, y estudios longitudinales, donde los efectos aleatorios no siguen una jerarquía simple.\u003c/p\u003e\u003ch2 id=\"soledad-andrea-araya-orrego\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#soledad-andrea-araya-orrego\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSoledad Andrea Araya Orrego\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/soledad-araya.jpeg\"\t\t\talt=\"Foto de perfil de Soledad Andrea Araya Orrego\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eSoledad Andrea Araya Orrego \u003c/br\u003e Dirección de Estudios Sociales UC \u003c/br\u003e \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMi nombre es Soledad Araya, estudié Ciencia Política, y desde hace 3 años me desempeño como Jefa de Proyectos en la Dirección de Estudios Sociales de la Pontificia Universidad Católica de Chile (DESUC), donde mi trabajo consiste, principalmente, en la coordinación de estudios cuantitativos. Por ese motivo, uso R diariamente: desde el desarrollo de muestras para la aplicación de encuestas presenciales, a la construcción de bases de datos y posterior análisis de resultados. Además, trabajo como docente de nivelación metodológica en el Instituto de Ciencia Política de la misma institución.\u003c/p\u003e\u003cp\u003eUna de las principales razones por las que postulé al programa es porque quiero desarrollar un proyecto personal que nació desde la necesidad de tener datos accesibles, estandarizados y ordenados sobre los resultados de las elecciones en Chile. Sé que este programa me entregará las herramientas necesarias para lograrlo, y espero que este proyecto sea también de utilidad para todos quienes tienen curiosidad por indagar en este tipo de información. La comunidad de R siempre genera espacios de crecimiento y aprendizaje, y espero aprovecharlo al máximo.\u003c/p\u003e\u003ch2 id=\"siguientes-pasos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#siguientes-pasos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSiguientes pasos\u003c/h2\u003e\u003cp\u003eCon la presentación de este nuevo grupo de Campeon(e|a)s, damos inicio a la tercera edición del programa. Durante el próximo año, estas personas recibirán capacitación en desarrollo de paquetes y gestión de comunidades, trabajarán en sus proyectos y llevarán a cabo actividades de divulgación y promoción de la ciencia abierta en sus instituciones y organizaciones.\u003c/p\u003e\u003cp\u003eSi quieres seguir el desarrollo de sus proyectos, no te pierdas nuestros artículos en el blog, novedades en nuestro newsletter y redes sociales.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/07/03/champions-2025/","date_published":"2025-07-03T00:00:00+00:00","date_modified":"2025-07-03T18:47:18-03:00"},{"id":"https://doi.org/10.59350/xvth2-kck67","title":"Edición multilingüe: preguntas frecuentes","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator","author"]}],"tags":["multilenguaje","communidad","diversidad"],"content_html":"\u003cp\u003eComo hemos \u003ca href=\"/es/multilingual-publishing/\"\u003edicho antes\u003c/a\u003e creemos que publicar recursos multilingües puede reducir la barrera de acceso al conocimiento, ayudar a democratizar el acceso a recursos de calidad y aumentar las posibilidades de contribuir a proyectos de software y ciencia abierta.Nuestros esfuerzos en curso en \u003ca href=\"/es/multilingual-publishing\"\u003epublicación multilingüe\u003c/a\u003e son cruciales para la \u003ca href=\"/es/about\"\u003emisión\u003c/a\u003e de rOpenSci.Al hablar de este proyecto en \u003ca href=\"/es/talks-papers/\"\u003econferencias\u003c/a\u003e y \u003ca href=\"/es/commcalls/nov2023-multilenguaje/\"\u003een otros lugares\u003c/a\u003e iniciamos una importante conversación con personas menos familiarizadas con este tipo de proyectos o que no están familiarizadas con nuestro proyecto específico y nuestros \u003ca href=\"https://devguide.ropensci.org/es/index.es.html\"\u003eflujos de trabajo\u003c/a\u003e.En este artículo, resumimos las preguntas más frecuentes, y nuestras mejores respuestas a ellas (incluso mejor formuladas que en el fragor de una sesión de preguntas y respuestas posterior a una charla \u0026#x1f601;).\u003c/p\u003e\u003ch2 id=\"las-traducciones-harán-a-la-gente-perezosa-en-el-sentido-de-que-no-aprenderán-inglés\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#las-traducciones-har%c3%a1n-a-la-gente-perezosa-en-el-sentido-de-que-no-aprender%c3%a1n-ingl%c3%a9s\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Las traducciones harán a la gente \u0026ldquo;perezosa\u0026rdquo; en el sentido de que no aprenderán inglés?\u003c/h2\u003e\u003cp\u003eEn primer lugar, es importante dejar claro que \u003cem\u003eno\u003c/em\u003e aprender inglés no significa que la gente sea perezosa.Mucha gente que no habla inglés ya habla varios idiomas, e incluso si sólo habla uno, trabajar en su proyecto con las herramientas de que dispone ya es esfuerzo suficiente.\u003c/p\u003e\u003cp\u003eEn segundo lugar, nuestro objetivo no es que la gente se convierta en angloparlante. La gente puede elegir (o no) aprender inglés en cualquier momento, pero haber aprendido primero a, digamos, desarrollar software utilizando el francés no va a impedirlo.Nuestro objetivo es que la gente pueda utilizar y contribuir a las herramientas de código abierto, y esto no debería depender de que hablen inglés. En ciencia, no ser hablante nativo de inglés ya es bastante difícil y hay una gran cantidad de \u0026ldquo;potencial sin explotar de las personas que no tienen al inglés como su lengua nativa\u0026rdquo;\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e. ¡Liberemos este potencial!\u003c/p\u003e\u003ch3 id=\"relacionado-tan-difícil-es-leer-en-inglés\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#relacionado-tan-dif%c3%adcil-es-leer-en-ingl%c3%a9s\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRelacionado: ¿Tan difícil es leer en inglés?\u003c/h3\u003e\u003cp\u003eSí, es uno de los \u0026ldquo;múltiples costos de ser una persona cuyo idioma nativo no es el inglés en la ciencia\u0026rdquo;\u003csup id=\"fnref1:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e.Además, hay varios estudios que han demostrado las dificultades de aprender a codificar en lenguajes de programación basados en el inglés cuando no eres angloparlante, y las ventajas de tener oportunidades de aprender en tu lengua materna.\u003c/p\u003e\u003cp\u003eGou\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e descubrió que los hablantes no nativos de inglés se enfrentaban a barreras a la hora de leer material didáctico, la comunicación técnica, la lectura y escritura de código, y el aprendizaje simultáneo de inglés y programación.Estas dificultades tienen su origen en la necesidad de desarrollar la comprensión del inglés \u003cem\u003eal mismo tiempo\u003c/em\u003e que se espera que aprendan sobre el tema específico: en nuestro caso, cómo desarrollar software de investigación de código abierto de alta calidad.Si alguna vez has intentado aprender estadística y R al mismo tiempo, puedes hacerte una idea de lo difícil que puede resultar. Este tipo de aprendizaje dual aumenta la carga cognitiva, lo que puede dificultar el aprendizaje\u003csup id=\"fnref:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e.\u003c/p\u003e\u003cp\u003eOtro estudio\u003csup id=\"fnref:4\"\u003e\u003ca href=\"#fn:4\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e4\u003c/a\u003e\u003c/sup\u003e sugería que, aunque aprender a programar en inglés no es necesariamente difícil para todos los no angloparlantes, incluir la lengua materna de los estudiantes puede hacer que la experiencia de aprendizaje sea más clara, comprensiva y agradable.\u003c/p\u003e\u003cp\u003eSi te interesa saber más sobre este tema te sugerimos que sigas a \u003ca href=\"https://www.felienne.com\"\u003eFelienne Hermans\u003c/a\u003e que está especializada en el diseño de lenguajes de programación y ha desarrollado un lenguaje de programación multilingüe para la enseñanza.\u003c/p\u003e\u003ch3 id=\"relacionado-la-gente-debería-aprender-inglés\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#relacionado-la-gente-deber%c3%ada-aprender-ingl%c3%a9s\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRelacionado: La gente debería aprender inglés\u003c/h3\u003e\u003cp\u003eAlgunas personas afirman que tienes que aprender inglés si quieres trabajar en programación y ciencias porque el inglés es la lengua franca de estas disciplinas.\u003c/p\u003e\u003cp\u003ePor desgracia, aunque esto fuera deseable, sencillamente no es posible para muchas personas, sobre todo para los programadores ocasionales o usuarios finales. Puede que no dispongan del tiempo, la energía o el dinero necesarios para aprender programación e inglés al mismo tiempo\u003csup id=\"fnref:5\"\u003e\u003ca href=\"#fn:5\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e5\u003c/a\u003e\u003c/sup\u003e.\u003c/p\u003e\u003cp\u003eHagamos números: \u003ca href=\"https://www.languagecert.org/en/guided-learning-hours\"\u003eEl Marco Común Europeo de Referencia para las Lenguas\u003c/a\u003e ha tabulado las horas de aprendizaje guiado que suelen ser necesarias para alcanzar cada nivel de competencia lingüística. Se trata de horas dedicadas a estudiar con un profesor o mediante un aprendizaje estructurado.\u003c/p\u003e\u003cp\u003ePor ejemplo, si empiezas como principiante (A1) y quieres llegar a intermedio (B1) necesitarás aproximadamente \u003cstrong\u003e400 horas guiadas\u003c/strong\u003e.  Si puedes dedicar \u003cstrong\u003e5 horas a la semana\u003c/strong\u003e te llevará \u003cstrong\u003e1 año y medio\u003c/strong\u003e y un presupuesto mínimo de \u003cstrong\u003e6000 USD\u003c/strong\u003e para aprender inglés. Como referencia, esto equivaldría al salario de dos años de una persona con un salario mínimo en Argentina. Esto tampoco tiene en cuenta el coste de encontrar tiempo para estudiar (servicios de guardería, trabajar menos horas, etc.).\u003c/p\u003e\u003cp\u003eTraduciendo documentos y recursos reducimos la carga que soportan las personas que no hablan inglés. Cuantas más personas participen en la ciencia y el software de código abierto, más nos beneficiaremos todos de un mayor acervo de experiencias y conocimientos.Por último, ¡queremos que todo el mundo tenga las mismas oportunidades de disfrutar aprendiendo!\u003c/p\u003e\u003ch2 id=\"por-qué-no-confías-sólo-en-las-traducciones-automáticas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-qu%c3%a9-no-conf%c3%adas-s%c3%b3lo-en-las-traducciones-autom%c3%a1ticas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por qué no confías sólo en las traducciones automáticas?\u003c/h2\u003e\u003cp\u003eEn nuestro \u003ca href=\"https://translationguide.ropensci.org/intro.html#general-aspects-of-the-stage-1-of-the-translation-process\"\u003eflujo de trabajo de traducción y localización\u003c/a\u003e las traducciones automáticas son el primer paso, seguido de las revisiones humanas.Aunque puedes publicar traducciones automáticas directamente, o utilizar herramientas para traducciones automáticas \u0026ldquo;en el momento\u0026rdquo;, existen inconvenientes en el texto traducido.En primer lugar, está bien documentado que la traducción automática no funciona bien para las lenguas menos comunes\u003csup id=\"fnref1:5\"\u003e\u003ca href=\"#fn:5\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e5\u003c/a\u003e\u003c/sup\u003e.Incluso para las lenguas comunes, las traducciones automáticas siguen teniendo errores y tienen problemas con los significados que cambian según el contexto, la gramática y la sintaxis, así como con las marcas de género.La traducción automática tampoco puede localizar algunos contenidos, como expresiones idiomáticas significativas o símbolos monetarios y numéricos.\u003c/p\u003e\u003cp\u003eSi confiamos únicamente en la traducción automática, el contenido de las lenguas traducidas será de menor calidad, por lo que supondría aceptar que las personas que hablan las lenguas parcialmente soportadas no merecen la misma calidad que los demás.Por ello, en rOpenSci, las personas participan en el proceso de traducción para garantizar que todo nuestro contenido sea de buena calidad, independientemente del idioma.\u003c/p\u003e\u003ch2 id=\"por-qué-no-utilizas-agrega-el-nombre-de-una-plataforma-de-traducción-en-lugar-de-git-y-github\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-qu%c3%a9-no-utilizas-agrega-el-nombre-de-una-plataforma-de-traducci%c3%b3n-en-lugar-de-git-y-github\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por qué no utilizas \u003ccode\u003e\u0026lt;agrega-el-nombre-de-una-plataforma-de-traducción\u0026gt;\u003c/code\u003e en lugar de Git y GitHub?\u003c/h2\u003e\u003cp\u003eHay muchas plataformas diferentes para realizar traducciones, ¡lo cual es fantástico!Sin embargo, somos una comunidad técnica y traducimos y localizamos contenido técnico.Ya utilizamos Git y GitHub en nuestros otros flujos de trabajo de desarrollo y muchas personas de nuestra comunidad conocen estas herramientas o tienen previsto aprenderlas.Para las personas que no estén familiarizadas con Git y GitHub, tenemos recursos y nos encanta ayudarles a aprender. De esta manera también dispondrán de nuevas herramientas que podrán aplicar a otros proyectos técnicos.Lee más sobre nuestras herramientas y procesos en nuestra \u003ca href=\"https://translationguide.ropensci.org/es/intro.es.html#infraestructura-t%C3%A9cnica-y-organizaci%C3%B3n-del-trabajo\"\u003eguía de traducción y localización\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"no-es-mucho-trabajo-traducir-y-mantener-las-traducciones\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#no-es-mucho-trabajo-traducir-y-mantener-las-traducciones\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿No es mucho trabajo traducir y mantener las traducciones?\u003c/h2\u003e\u003cp\u003eSí, lo es.Pero creemos que merece la pena.Además, el trabajo de traducción permite que nuevas personas colaboren, lo que a) ayuda a repartir la carga, b) sirve de trampolín para otras formas de contribución, y c) hace que nuestra comunidad sea más diversa .\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn este post hemos respondido a preguntas habituales que recibimos sobre nuestro proyecto de publicación multilingüe.Creemos firmemente que ofrecer recursos multilingües de calidad forma parte de fomentar más \u003ca href=\"/blog/2025/02/05/no-science-without-deia/\"\u003ediversidad, equidad, inclusión y accesibilidad\u003c/a\u003e en el código abierto y la ciencia abierta.Agradecemos tu participación\u0026hellip; ¡y aún más tus preguntas!\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eAmano T, Ramírez-Castañeda V, Berdejo-Espinola V, Borokini I, Chowdhury S, Golivets M, et al. (2023) The manifold costs of being a non-native English speaker in science. PLoS Biol 21(7): e3002184.\u003ca href=\"https://doi.org/10.1371/journal.pbio.3002184\"\u003ehttps://doi.org/10.1371/journal.pbio.3002184\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref1:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003ePhilip J. Guo. 2018. Hablantes no nativos de inglés que aprenden programación informática: Barreras, deseos y oportunidades de diseño. En Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (CHI \u0026lsquo;18). Association for Computing Machinery, Nueva York, NY, EE.UU., Documento 396, 1-14.\u003ca href=\"https://doi.org/10.1145/3173574.3173970\"\u003ehttps://doi.org/10.1145/3173574.3173970\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:3\"\u003e\u003cp\u003eGoldin, A. (2022). Neurociencia en la escuela: Guía amigable (sin bla bla) para entender cómo funciona el cerebro durante el aprendizaje. Siglo XXI Editores.\u0026#160;\u003ca href=\"#fnref:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:4\"\u003e\u003cp\u003eEthel Tshukudu, Emma Dodoo, Felienne Hermans y Monkgogi Mudongo. 2024. Programación Bilingüe: Un estudio de las actitudes y experiencias de los estudiantes en el contexto africano. En Proceedings of the 24th Koli Calling International Conference on Computing Education Research (Koli Calling \u0026lsquo;24). Association for Computing Machinery, Nueva York, NY, EE.UU., Artículo 42, 1-11.\u003ca href=\"https://doi.org/10.1145/3699538.3699561\"\u003ehttps://doi.org/10.1145/3699538.3699561\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:4\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:5\"\u003e\u003cp\u003eAlaaeddin Swidan y Felienne Hermans. 2023. Un marco para la localización de lenguajes de programación. En Proceedings of the 2023 ACM SIGPLAN International Symposium on SPLASH-E (SPLASH-E 2023). Association for Computing Machinery, Nueva York, NY, EE.UU., 13-25.\u003ca href=\"https://doi.org/10.1145/3622780.3623645\"\u003ehttps://doi.org/10.1145/3622780.3623645\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:5\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref1:5\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2025/06/23/edicion-multilingue-preguntas-frecuentes/","date_published":"2025-06-23T00:00:00+00:00","date_modified":"2025-06-23T14:57:52+02:00"},{"id":"https://doi.org/10.59350/n9vrx-6hm84","title":"Nuevo equipo de mentor(a|e)s, el mismo espíritu de ciencia abierta","language":"es","authors":[{"name":"Carolina Pradier","url":"https://ropensci.org/es/author/carolina-pradier/","avatar":"https://github.com/caropradier.png","_role":["author"]},{"name":"Elina Gómez","url":"https://ropensci.org/es/author/elina-g%C3%B3mez/","avatar":"https://ropensci.org/img/team/elina-gomez.png","_role":["author"]},{"name":"Elio Campitelli","url":"https://ropensci.org/es/author/elio-campitelli/","avatar":"https://ropensci.org/img/team/elio-campitelli.jpg","_role":["author"]},{"name":"Francisco Cardozo","url":"https://orcid.org/0000-0002-1925-4954","avatar":"https://github.com/focardozom.png","_role":["author"]},{"name":"Geraldine Gómez Millán","url":"https://ropensci.org/es/author/geraldine-g%C3%B3mez-mill%C3%A1n/","avatar":"https://ropensci.org/img/team/geraldine-gomez.png","_role":["author"]},{"name":"Luis D. Verde Arregoitia","url":"https://ropensci.org/es/author/luis-d.-verde-arregoitia/","avatar":"https://github.com/luisDVA.png","_role":["author"]},{"name":"Milagros Mendoza","url":"https://ropensci.org/es/author/milagros-mendoza/","avatar":"https://ropensci.org/img/team/milagros-mendoza.jpeg","_role":["author"]},{"name":"Pablo Tiscornia","url":"https://ropensci.org/es/author/pablo-tiscornia/","avatar":"https://ropensci.org/img/community/pablo-tiscornia.jpeg","_role":["author"]},{"name":"Pao Corrales","url":"https://orcid.org/0000-0003-1923-9129","avatar":"https://ropensci.org/img/team/paola-corrales.png","_role":["author"]},{"name":"Ronny Hernandez Mora","url":"https://ropensci.org/es/author/ronny-hernandez-mora/","avatar":"https://ropensci.org/img/team/ronny-hernandez.png","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["programa campeones","mentoria","comunidad"],"content_html":"\u003cp\u003e¡Nos alegra presentar al nuevo equipo de mentor(a|e)s del programa de Campeon(e|a)s de rOpenSci! Este año, contamos con diez personas muy talentosas, todas originarias de América Latina, que aportan una combinación única de experiencia, entusiasmo y compromiso con la ciencia abierta. Algunas ya formaron parte del programa en ediciones anteriores, ya sea como mentores o como campeonas, y hoy regresan para seguir fortaleciendo esta comunidad.\u003c/p\u003e\u003cp\u003eNuestros nuevos mentores provienen de una amplia variedad de disciplinas y son voces activas dentro de la comunidad R en la región, participando en distintos grupos e iniciativas. Con su apoyo, nuestro nuevo grupo de Campeon(e|a)s no solo van a desarrollar sus proyectos, sino también a crecer como líderes en ciencia abierta y desarrollo de software de investigación.\u003c/p\u003e\u003ch2 id=\"carolina-pradier\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#carolina-pradier\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCarolina Pradier\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/carolina-pradier.jpg\"\t\t\talt=\"Foto de perfil de Carolina Pradier\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eCarolina Pradier \u003c/br\u003e Universidad de Montreal \u003c/br\u003e rOpenSci - Ecofemidata\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e¡Hola! Soy Carolina Pradier y voy a participar como mentora en esta edición del programa de Campeon(e|a)S de rOpenSci.\u003c/p\u003e\u003cp\u003eSoy argentina, licenciada en Economía por la Universidad de Buenos Aires y también tengo una Maestría en Ciencias Sociales del Trabajo por la misma universidad. Actualmente vivo en Canadá, donde estoy haciendo un doctorado en Ciencias de la Información. Mi tesis doctoral se centra en el estudio de las inequidades en el ámbito científico en América Latina.\u003c/p\u003e\u003cp\u003eDentro de la comunidad de rOpenSci, soy maintainer del \u003ca href=\"https://docs.ropensci.org/eph/\"\u003epaquete eph\u003c/a\u003e, una herramienta diseñada para facilitar el análisis de la Encuesta Permanente de Hogares de Argentina. Participé como alumna en una cohorte anterior del Programa de Campeon(e|a)S de rOpenSci, donde mi paquete \u003ca href=\"https://github.com/ropensci/software-review/issues/593\"\u003eatravesó el proceso de revisión de pares de rOpenSci\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eMe entusiasma muchísimo ser parte del programa de Campeon(e|a)s como mentora. Quiero poder transmitir mi experiencia en el desarrollo de paquetes en R a quienes están dando sus primeros pasos en esta comunidad. Pero también quiero aprender de otras personas, de sus recorridos, sus motivaciones y sus proyectos. Estoy convencida de que abrir espacios de intercambio y apoyo mutuo es fundamental para seguir construyendo una comunidad diversa, inclusiva y solidaria.\u003c/p\u003e\u003ch2 id=\"elina-gómez\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#elina-g%c3%b3mez\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eElina Gómez\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/elina-gomez.png\"\t\t\talt=\"Foto de perfil de Elina Gómez\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eElina Gómez \u003c/br\u003e Universidad de la República \u003c/br\u003e R-Ladies Montevideo - RUG Montevideo\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy Elina Gómez Bonaglia, Licenciada en Sociología, Magíster en Estudios Contemporáneos de América Latina y candidata a Doctora en Sociología por la Facultad de Ciencias Sociales de la Udelar, Uruguay.\u003c/p\u003e\u003cp\u003eSoy docente e investigadora de la Unidad de Métodos y Acceso a Datos (UMAD) de la Facultad de Ciencias Sociales (Udelar, Uruguay). Me dedico a la investigación social aplicada y su intersección con la ciencia de datos, específicamente, las áreas de políticas públicas y análisis masivo de texto. También imparto hace más de diez años cursos básicos y avanzados de R.\u003c/p\u003e\u003cp\u003eMe interesa participar en el programa como mentora y seguir proyectos de diferente tipo, incluso en otros campos de investigación a los que estoy habituada.\u003c/p\u003e\u003ch2 id=\"elio-campitelli\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#elio-campitelli\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eElio Campitelli\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/elio-campitelli.jpg\"\t\t\talt=\"Foto de perfil de Elio Campitelli\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eElio Campitelli \u003c/br\u003e Monash University - rOpenSci - LatinR\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy de Argentina pero el año pasado me mudé a Australia porque es el único otro país que empieza on A y usa el mismo tipo de enchufe.\u003c/p\u003e\u003cp\u003eEstoy haciendo un postdoc en la Universidad de Monash investigando interacciones entre el hielo marino de la Antártida y la atmósfera.\u003c/p\u003e\u003cp\u003eYa fui mentore de una edición anterior del programa. Fue una experiencia genial que quiero repetir.\u003c/p\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\u003ch2 id=\"francisco-cardozo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#francisco-cardozo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFrancisco Cardozo\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/francisco-cardozo.jpg\"\t\t\talt=\"Foto de perfil de Francisco Cardozo\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eFrancisco Cardozo\u003c/br\u003eUniversidad de Miami \u003c/br\u003e rOpenSci -The Carpentries\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMe llamo Francisco Cardozo. Actualmente soy estudiante de doctorado en la Universidad de Miami, EE.UU., donde formo parte del programa de Ciencias de la Prevención y Salud Comunitaria.\u003c/p\u003e\u003cp\u003eHe trabajado en la evaluación de programas de prevención en varios países de América Latina. Actualmente, estoy desarrollando talleres para enseñar el uso de software que mejora la reproducibilidad y el rigor de la investigación. Estos talleres se centran en el uso de R y técnicas de análisis estadístico, como el aprendizaje automático y las variables latentes.\u003c/p\u003e\u003cp\u003eEstoy profundamente comprometido con el fortalecimiento de las capacidades técnicas dentro de las comunidades; creo en equipar a las personas con las herramientas necesarias para ejecutar sus proyectos de la mejor manera posible. Fui mentor en una cohorte anterior del programa y quiero seguir participando de esta iniciativa.\u003c/p\u003e\u003ch2 id=\"geraldine-gómez-millán\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#geraldine-g%c3%b3mez-mill%c3%a1n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGeraldine Gómez Millán\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/geraldine-gomez.png\"\t\t\talt=\"Foto de perfil de Geraldine Gómez Millán\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eGeraldine Gómez Millán\u003c/br\u003eIBM\u003c/br\u003eEpiverse TRACE-LAC\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMi nombre es Geraldine Gómez Millán, soy de Colombia, Ingeniera de Sistemas y actualmente curso una maestría en Ingeniería de Software. He participado en diversos proyectos sociales, liderando el desarrollo de paquetes y software en R con enfoque en epidemiología y análisis regional. He realizado entrenamientos en R y en buenas prácticas de programación.\u003c/p\u003e\u003cp\u003eCuento con experiencia en análisis de datos, arquitectura de software, metodologías de desarrollo, seguridad, DevOps, Cloud e inteligencia artificial. Actualmente, lidero un equipo de seguridad de la información y me desempeño como mentora en el Champions Program.\u003c/p\u003e\u003cp\u003eCreo firmemente que el conocimiento que no se comparte, no existe. Compartir saberes, construir de manera colectiva y generar oportunidades a través del aprendizaje y la democratización de la tecnología son factores claves para transformar la sociedad. Espero poder aportar mi experiencia y conocimiento socio-técnico desde una perspectiva ética e innovadora, como también deseo poder ampliar y conocer otras formas de pensamiento y enfoques para la resolución de problemas.\u003c/p\u003e\u003ch2 id=\"luis-d-verde-arregoitia\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#luis-d-verde-arregoitia\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLuis D. Verde Arregoitia\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/luis-verde.jpeg\"\t\t\talt=\"Foto de perfil de Luis D. Verde Arregoitia\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eLuis D. Verde Arregoitia\u003c/br\u003eInstituto de Ecología AC - INECOL\u003c/br\u003eLatinR, rOpenSci, The Carpentires\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHola, soy Luis D. Verde Arregoitia, mexicano viviendo en Xalapa, México. Soy mastozoólogo con formación en Biología. Soy Biólogo por la Universidad Nacional Autónoma de México y doctor en Ciencias de la Conservación por la Universidad de Queensland, Australia.\u003c/p\u003e\u003cp\u003eActualmente soy un técnico académico, especializado en Ciencia de Datos aplicada a Biodiversidad. Además paso mi tiempo escribiendo herramientas, blogs y materiales de enseñanza para ayudar a otros a trabajar con datos desordenados y hojas de cálculo y mejorar sus scripts de R para mayor reproducibilidad. Tambien realizo enseñanza práctica de R.\u003c/p\u003e\u003cp\u003eFui mentor durante la cohorte 2023-2024 y estoy feliz de participar nuevamente en esta edicion.\u003c/p\u003e\u003ch2 id=\"milagros-mendoza\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#milagros-mendoza\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMilagros Mendoza\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/milagros-mendoza.jpeg\"\t\t\talt=\"Foto de perfil de Milagros Mendoza\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eMilagros Mendoza\u003c/br\u003eUniversidade Federal Rural de Pernambuco\u003c/br\u003eR-Ladies Natal\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMi nombre es Milagros Mendoza. Soy peruana de nacimiento, pero actualmente resido en Brasil donde trabajo en la Universidade Federal Rural de Pernambuco (UFRPE). Tambien soy parte de R-Ladies Natal.\u003c/p\u003e\u003cp\u003eMe interesa paticipar del programa de Campeon(e|a)s para compartir conocimientos y experiencia con otras personas de la comunidad rOpenSci y promover la ciencia de datos abierta  y contribuir a la creación de herramientas y recursos de código abierto. Al ser mentora, también podre desarrollar habilidades de liderazgo y comunicación, y aprender a trabajar con otras personas para lograr objetivos comunes.\u003c/p\u003e\u003cp\u003eEstoy feliz en poder contribuir en la comunidad de ciencia abierta.\u003c/p\u003e\u003c/br\u003e \u003c/br\u003e \u003ch2 id=\"pablo-tiscornia\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pablo-tiscornia\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePablo Tiscornia\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/pablo-tiscornia.jpeg\"\t\t\talt=\"Foto de perfil de Pablo Tiscornia\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003ePablo Tiscornia\u003c/br\u003eC40 Cities\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy Pablo Tiscornia, Licenciado en Sociología, nacido en Argentina y actualmente viviendo en México. Trabajo como científico de datos en C40 Cities, una organización global que impulsa acciones climáticas urbanas, y dirijo Estación R, una escuela especializada en formación sobre R y análisis de datos en América Latina.\u003c/p\u003e\u003cp\u003eEstoy muy contento de poder participar como mentor en esta edición del programa. Decidí postularme porque las comunidades de práctica han desempeñado un rol clave en mi crecimiento personal y profesional, y veo en este espacio una gran oportunidad para retribuir parte de lo mucho que recibí a lo largo de mi carrera. Creo firmemente en la importancia de seguir creando y sosteniendo comunidades que promuevan la inclusión de nuevas personas en el mundo de la programación.\u003c/p\u003e\u003cp\u003eDel programa espero aprender del amplio conocimiento y la experiencia de mis colegas, además de contribuir con mi perspectiva y trayectoria. Me entusiasma especialmente la posibilidad de establecer conexiones con profesionales de distintas áreas para expandir nuestros horizontes y fortalecer el impacto positivo que R y su comunidad pueden tener en la resolución de problemas y desafíos actuales.\u003c/p\u003e\u003ch2 id=\"pao-corrales\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pao-corrales\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePao Corrales\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/paola-corrales.png\"\t\t\talt=\"Foto de perfil de Pao Corrales\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003ePao Corrales\u003c/br\u003eAustralian National University \u0026amp; 21st century weather CoE \u003c/br\u003e R-Ladies, LatinR, rOpenSci, The Carpentries, RForwards \u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy Doctora en Ciencias de la Atmósfera de Universidad de Buenos Aires, Argentina y ahora en Australia trabajo para el 21st Century Weather Centre como Ingeniera de Software para Investigacion.\u003c/p\u003e\u003cp\u003eParticipo activiamente en \u003ca href=\"https://rladies.org\"\u003eR-Ladies\u003c/a\u003e, \u003ca href=\"https://forwards.github.io\"\u003eR Forwards\u003c/a\u003e, \u003ca href=\"https://carpentries.org\"\u003eThe Carpentries\u003c/a\u003e, \u003ca href=\"https://latinr.org\"\u003eLatinR\u003c/a\u003e y \u003ca href=\"https://ropensci.org\"\u003erOpenSci\u003c/a\u003e aprendiendo y compartiendo sobre R en comunidad. En 2023 participe en el programa de campeones presentando el paquete \u003ca href=\"https://docs.ropensci.org/agroclimatico/\"\u003eagroclimatico\u003c/a\u003e al \u003ca href=\"https://github.com/ropensci/software-review/issues/599\"\u003eproceso de revision por pares\u003c/a\u003e, aprendí muchisimo y conecté con personas de todo el mundo, fue una excelente experiencia!\u003c/p\u003e\u003cp\u003eMe apasiona enseñar y ayudar a otras personas a que puedan crecer en lo que hacen, acceder a nuevas oportunidades y desarrollarse profecionalmente y comopersonas. Estoy muy contenta de participar este año como mentora en el programa de campeonas y campeones de Latinoamerica.\u003c/p\u003e\u003ch2 id=\"ronny-hernandez-mora\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ronny-hernandez-mora\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRonny Hernandez Mora\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/img/team/ronny-hernandez.png\"\t\t\talt=\"Foto de perfil de Ronny Hernandez Mora\" width=\"250\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003cstrong\u003eRonny Hernandez Mora\u003c/br\u003eUniversity of Alberta\u003c/strong\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSoy Ronny A. Hernández Mora, estudiante de doctorado en el Departamento de Ingeniería Civil y Ambiental de la Universidad de Alberta, Canadá. Mi investigación se enfoca en el desarrollo de herramientas de visión por computadora y aprendizaje por refuerzo aplicadas a drones de primera respuesta.\u003c/p\u003e\u003cp\u003eAnteriormente trabajé en industria desarrollando soluciones de datos para diferentes empresas en América Latina y Estados Unidos. Mi experiencia incluye el desarrollo de modelos, automatización de procesos, creación de APIs, y desarrollo e implementación de aplicaciones.\u003c/p\u003e\u003cp\u003eMi entrada al mundo de R y la programación fue posible gracias a personas que estuvieron dispuestas a enseñarme,por lo que participar en este programa es una manera de devolver y aportar a la comunidad.\u003c/p\u003e\u003ch2 id=\"lo-que-viene\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lo-que-viene\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLo que viene\u003c/h2\u003e\u003cp\u003eEstamos felices de contar con este equipo diverso y talentoso de mentores y mentoras, que encarna los valores de colaboración, apertura y compromiso con el crecimiento colectivo. Su acompañamiento será clave para que los y las nuevas Campeon(a|e)s puedan llevar adelante sus ideas y proyectos, y contribuir al desarrollo de una comunidad de ciencia abierta más fuerte y diversa en América Latina.\u003c/p\u003e\u003cp\u003eEn estos momentos estamos ultimando la selección de Campeonas y Campeones y estaremos anunciandoles próximamente.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/06/05/mentors-2025/","date_published":"2025-06-05T00:00:00+00:00","date_modified":"2025-06-10T02:09:28-06:00"},{"id":"https://doi.org/10.59350/6ckxv-axw35","title":"Puentes y Comunidades. Mi Camino como Campeona de rOpenSci","language":"es","authors":[{"name":"Andrea Gomez Vargas","url":"https://orcid.org/0009-0007-8745-3967","avatar":"https://github.com/SoyAndrea.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor"]}],"tags":["campeones","paquetes","comunidad"],"content_html":"\u003cp\u003eSer parte del \u003ca href=\"https://champions-program.ropensci.org\"\u003eprograma de Campeones y Campeonas de rOpenSci\u003c/a\u003e ha sido una experiencia de \u003cstrong\u003ecrecimiento profesional y una oportunidad para contribuir a la comunidad\u003c/strong\u003e. Aprendí sobre el desarrollo de paquetes en R mientras trabajaba en una herramienta para facilitar el acceso a datos censales de Argentina.\u003c/p\u003e\u003cp\u003eEn este blog, quiero compartir cómo esta experiencia \u003cem\u003eabrió nuevas oportunidades, me conectó con personas y comunidades, y me llevó a formar parte de nuevos proyectos, fortaleciendo mi compromiso con el acceso abierto a los datos\u003c/em\u003e.\u003c/p\u003e\u003ch2 id=\"mi-proyecto-en-el-programa\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mi-proyecto-en-el-programa\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMi proyecto en el programa\u003c/h2\u003e\u003cp\u003eDesde el inicio, mi objetivo fue desarrollar un paquete en R que permitiera acceder de manera estructurada a los datos censales de Argentina. La idea surgió de la necesidad de contar con información histórica organizada y lista para su uso en análisis estadísticos y proyectos de investigación. Mi trabajo como analista de estadísticas de población me llevó a identificar la importancia de contar con una herramienta que facilitara el tratamiento de estos datos. En los censos históricos, estos datos se encuentran dispersos en distintos formatos (libros, PDFs, excels y REDATAM), lo que dificulta su acceso y utilización.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2025/05/15/puentes-comunidades-campeones-ropensci/censos-argentina.png\"\t\t\talt=\"Logotipos oficiales de los censos nacionales de Argentina de 1970 a 2022, de izquierda a derecha tenemos 1970. Tapa azul del informe del Censo Nacional de Población, Familias y Viviendas, con dibujos de viviendas y personas. 1980. Personaje animado de un lápiz sonriente con el texto Censo 80. 1991. Icono con una grilla blanca, dos ojos negros y una sonrisa roja, junto al texto Censo 91. 2001. Cuadrados azules formando una figura geométrica y el texto Censo 2001. 2010. Texto Censo 2010 - Año del Bicentenario, con el cero representado como una escarapela argentina. 2022. Círculo azul con líneas blancas abstractas y el texto Censo 2022 - República Argentina.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eCollage con las portadas de los censos nacionales de Argentina desde 1970 hasta 2022.\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eDurante el programa, trabajé en la organización y estandarización de los datos, enfrentándome a desafíos como la estructuración de la información (tidy data) y la creación de funciones eficientes para su manipulación. Uno de los aspectos más enriquecedores del programa fueron las sesiones de entrenamiento proporcionadas por rOpenSci (agradecimiento especial a \u003ca href=\"/es/author/ma%C3%ABlle-salmon/\"\u003eMaëlle\u003c/a\u003e y \u003ca href=\"/author/yanina-bellini-saibene/\"\u003eYani\u003c/a\u003e por toda la paciencia y aprendizaje), y el intercambio continuo de proyectos con los demás campeones y campeonas del programa.\u003c/p\u003e\u003cp\u003eParticipamos en capacitaciones virtuales sobre manejo de código, uso de paquetes eficientes para la creación de paquetes en R y la automatización con GitHub Actions, entre otros temas, todo con un enfoque en buenas prácticas. Además, tuve la oportunidad de contar con la mentoría personalizada de \u003ca href=\"/author/luis-d.-verde-arregoitia/\"\u003eLuis Verde\u003c/a\u003e, amigo de la comunidad LatinR, que me acompañó a lo largo del proceso de desarrollo del paquete, brindando orientación clave en cada etapa.\u003c/p\u003e\u003ch2 id=\"expectativa-vs-realidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#expectativa-vs-realidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eExpectativa vs realidad\u003c/h2\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/blog/2025/05/15/puentes-comunidades-campeones-ropensci/codehero.png\"\t\t\talt=\"Ilustración de una persona con una capa que dice \u0026#39;code hero\u0026#39;, diciendo \u0026#39;¡Estoy haciendo algo completamente sola!\u0026#39; mientras vuela con una laptop. Debajo hay una red de contención sostenida por personas con carteles que dicen \u0026#39;apoyo\u0026#39; y \u0026#39;comunidad\u0026#39;. También hay globos aerostáticos que ayudan a sostenerla, con etiquetas como \u0026#39;docentes\u0026#39;, \u0026#39;blogueras\u0026#39;, \u0026#39;amigxs\u0026#39;, \u0026#39;desarrolladorxs\u0026#39; y \u0026#39;contribuyentes\u0026#39;.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eIlustración de \u003ca href=\"https://www.allisonhorst.com/\"\u003eAllison Horst\u003c/a\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMientras avanzaba en el desarrollo del paquete, me enfrenté a un desafío clave: la estructura de los datos. A medida que incorporaba información de distintos años censales, me di cuenta de que cada censo traía consigo miles de archivos excel en formatos diversos dificultando la automatización y haciendo la transformación uno por uno, lo que hacía aún más compleja la tarea de estandarización.Fue entonces cuando decidí invitar a \u003ca href=\"https://github.com/ECiardullo\"\u003e\u003cem\u003eEmanuel Ciardullo\u003c/em\u003e\u003c/a\u003e a sumarse al proyecto. Formamos una dupla desde nuestras miradas complementarias —yo desde la sociología, él desde la estadística— para encarar esta primera fase del paquete. Esa alianza fue clave para poder repensar el enfoque y compartir el trabajo técnico y conceptual.\u003c/p\u003e\u003cp\u003eMi propósito era abarcar en el paquete todos los años censales pero con el tiempo me di cuenta que me iba a llevar más tiempo de los estimado, me sirvió charlar mucho con amigos y miembros de rOpenSci.  No era solo una cuestión de organizar datos, sino de diseñar una estructura que permitiera integrar información de manera escalable y reutilizable en el futuro.\u003c/p\u003e\u003cp\u003eCon el volumen de trabajo ya realizado y una estrategia más clara, reordenamos el esquema del proyecto, definimos las distintas fases de disponibilidad de los datos, y con los que ya estaban estructurados, pudimos enfocarnos en darles su formato final dentro del paquete, armar la documentación y desarrollar las primeras funciones: \u003ccode\u003eget_census()\u003c/code\u003e, \u003ccode\u003echeck_repository()\u003c/code\u003e y \u003ccode\u003earcenso()\u003c/code\u003e.\u003c/p\u003e\u003ch2 id=\"arcenso\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#arcenso\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eARcenso\u003c/h2\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/blog/2025/05/15/puentes-comunidades-campeones-ropensci/arcenso-hex.png\"\t\t\talt=\"Hex sticker azul del paquete de R ARcenso, con un diseño inspirado en el sol de la bandera argentina y el nombre del paquete AR_censo en letras blancas en el centro.\" width=\"200px\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eHex del paquete \u003ccode\u003earcenso\u003c/code\u003e, creado como parte del programa de campeones de rOpenSci.\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eEn medio de estas reflexiones y desafíos técnicos, nació \u003ca href=\"https://soyandrea.github.io/arcenso/\"\u003eARcenso\u003c/a\u003e, el paquete no solo busca facilitar el acceso a los datos censales, sino también fomentar su uso entre investigadores, el sector público y la ciudadanía en general mediante herramientas de software libre. La posibilidad de contribuir con una herramienta útil, abierta y pensada para la comunidad ha sido una de las motivaciones más importantes de este proceso.\u003c/p\u003e\u003cp\u003eEl proyecto se encuentra en su primera etapa: ya podés instalar el paquete utilizando \u003ccode\u003edevtools\u003c/code\u003e y explorar los primeros años censales disponibles, 1970 y 1980. El propósito es seguir trabajando para que ARcenso se vuelva más robusto, atraviese \u003ca href=\"/es/software-review/\"\u003eel proceso de revisión por pares de rOpenSci\u003c/a\u003e y, eventualmente, esté disponible en CRAN. El programa de campeones fue el punto de partida, pero el desarrollo del paquete continúa porque el potencial del recurso —para facilitar el acceso a datos clave de manera abierta y reutilizable— es enorme.\u003c/p\u003e\u003ch2 id=\"la-comunidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-comunidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa comunidad\u003c/h2\u003e\u003ch3 id=\"una-beca-una-conferencia-y-una-comunidad-global\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#una-beca-una-conferencia-y-una-comunidad-global\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUna beca, una conferencia y una comunidad global\u003c/h3\u003e\u003cp\u003eTuve la oportunidad de recibir la beca para asistir a la Posit::Conf, una de las conferencias internacionales más importante del ecosistema R. Fue una experiencia transformadora: aprendí muchísimo, conocí a personas que admiro y viví de cerca lo que significa formar parte de una comunidad global que apuesta por el software libre, el acceso abierto y el desarrollo colaborativo. Además, fue muy especial encontrarme en persona con parte del equipo de rOpenSci y otras personas que forman esta comunidad. El intercambio me ayudó a repensar aspectos clave de ARcenso, desde su estructura hasta su potencial de colaboración abierta. Me volví con nuevas ideas, inspiración y una red de personas con quienes seguir creciendo.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2025/05/15/puentes-comunidades-campeones-ropensci/comunidades.png\"\t\t\talt=\"Collage con dos imágenes. A la izquierda, grupo de campeones rOpenSci en la Posit Conf de izquierda a derecha, Luis Verde, Andrea Gomez, Sunny Tseng y Francisco Cardozo. A la derecha, una fotografía de la pantalla durante la presentación del paquete ARcenso en LatinR.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eMomentos clave del recorrido: encuentro con la comunidad de rOpenSci en posit::conf y presentación de ARcenso en LatinR.\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003ch3 id=\"latinr\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#latinr\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLatinR\u003c/h3\u003e\u003cp\u003ePara noviembre, \u003ca href=\"https://youtu.be/YYfyBrQhMQc?si=lQZMormzo83ImToS\"\u003epresentamos ARcenso en LatinR\u003c/a\u003e, la conferencia latinoamericana sobre el uso de R en investigación y desarrollo. Junto a Emanuel, compartimos el trabajo realizado durante el programa y cómo trabajamos en dupla para construir esta primera fase del proyecto. Fue un momento muy especial para mostrarle a la comunidad regional lo que habíamos logrado y recibir sus comentarios y apoyo en el panel de proceso de desarrollo de paquetes.\u003c/p\u003e\u003ch3 id=\"r-en-red\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#r-en-red\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eR en Red\u003c/h3\u003e\u003cp\u003eY para cerrar este gran 2024, desde la organización de R en Buenos Aires, en conjunto con R-Ladies Buenos Aires, impulsamos una presentación local del paquete. Como parte del equipo organizador, coordiné esta actividad con el objetivo de compartir el proyecto con la comunidad, mostrar lo que veníamos construyendo e invitar a más personas a conocerlo. Esta instancia fue muy buena, ya que no solo recibí comentarios valiosos de la comunidad, sino que también pude conectar con otras personas que habían enfrentado problemas similares. También aprovechamos la oportunidad para difundir el programa de Campeones y Campeonas de rOpenSci, con la esperanza de que más personas de nuestra región se animen a postular a la próxima cohorte.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2025/05/15/puentes-comunidades-campeones-ropensci/arcenso-meet.png\"\t\t\talt=\"Collage de tres momentos del evento ARcenso, Oportunidades y Comunidad: a la izquierda, foto grupal de personas asistentes al evento. En el centro, Andrea presentando y señalando en la pantalla las funciones principales del paquete ARcenso. A la derecha, Andrea y Emanuel exponiendo sobre cómo organizaron el trabajo, frente a los asistentes del meetup.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003ePresentación en los capítulos locales de R-Ladies y R en Buenos Aires del paquete ARcenso: comunidad, funciones y el detrás de escena del trabajo en dupla.\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003ePresentar el proyecto y discutirlo con la comunidad me permitió reafirmar la importancia de crear herramientas accesibles y bien documentadas. Además, fue un recordatorio de que no estábamos solos en este proceso: la comunidad de R es un espacio donde el conocimiento se construye colectivamente, y participar activamente en ella fue fundamental para seguir adelante con el paquete.\u003c/p\u003e\u003ch3 id=\"lo-que-queda-después-del-impulso\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lo-que-queda-despu%c3%a9s-del-impulso\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLo que queda después del impulso\u003c/h3\u003e\u003cp\u003eParticipar del programa de Campeones y Campeonas de rOpenSci fue el punto de partida para crear algo que no sabía que podía construir. Me animó a pasar del uso de R al desarrollo de un paquete en R, y del caos de los datos al diseño de una herramienta pensada para que otras personas puedan trabajar mejor. Pero, sobre todo, me conectó con una comunidad que cree en compartir lo que sabe, en acompañarse en el proceso y en abrir caminos para quienes vienen después. Hoy ARcenso sigue creciendo, y yo también: con nuevas ideas, nuevos desafíos y el deseo intacto de seguir construyendo en comunidad y para la comunidad.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/05/15/puentes-comunidades-campeones-ropensci/","date_published":"2025-05-15T00:00:00+00:00","date_modified":"2025-06-05T10:16:41-03:00"},{"id":"https://doi.org/%!s(<nil>)","title":"Apoyar a los mentores y mentoras de rOpenSci con herramientas prácticas","language":"es","authors":[{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["mentores","entrenamiento","programa de campeones","comunidad"],"content_html":"\u003cp\u003eLa mentoría está en el corazón de lo que hace de rOpenSci una comunidad.Nuestros participantes se mentorean mutuamente en distintos momentos:cuando una perosna nueva se une y necesita ayuda para navegar por la comunidad;cuando un participante asume un nuevo papel, como revisor de nuestra revisión por pares de software,o proyecto, como convertirse en quien mantiene un paquete, y le vendría bien un poco de orientación;durante las interacciones cotidianas, cuando la gente comparte consejos y sugerencias entre sí;cuando alguien comparte una idea y recibe comentarios constructivos y amistososo cuando un integrante con más experiencia ayuda a otras personas a crecer y asumir funciones de liderazgo.Cada uno de estos momentos es una oportunidad para compartir lo que sabes, crear conexiones y mantener fuerte a la comunidad.\u003c/p\u003e\u003cp\u003eDesde 2022 tenemos nuestro Programa de Campeon(e|a)s con una función formal de tutoría.Para ayudar a nuestros mentores del programa a hacer su mejor trabajo, hemos reunido un conjunto de recursos: un taller, un manual y un calendario mensual.En este post, te guiamos a través de lo que hemos creado y te mostramos cómo estos recursos pueden ayudar también tu labor de mentor o mentora, tanto si formas parte de rOpenSci como si tiene este rol en otro contexto.\u003c/p\u003e\u003ch2 id=\"taller-de-mentoría\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#taller-de-mentor%c3%ada\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTaller de mentoría\u003c/h2\u003e\u003cp\u003eEl taller \u003ca href=\"https://ropensci-training.github.io/ropensci-mentors/\"\u003eFormación y Orientación para Mentores\u003c/a\u003e es un recurso clave del Programa de Campeon(e|a)s de rOpenSci, que dota a los mentores y mentoras de las habilidades y herramientas que necesitan para guiar a las personas que mentorean.\u003c/p\u003e\u003cp\u003eLos resultados clave del aprendizaje incluyen escuchar activamente, preguntar de forma eficaz, dar comentarios constructivos y el establecer expectativas para las relaciones de tutoría. El curso también proporciona recursos prácticos para ayudar a los mentores y mentoras a desempeñar sus funciones.\u003c/p\u003e\u003cp\u003eBasado en materiales de iniciativas abiertas como \u003ca href=\"https://foundation.mozilla.org/en/initiatives/mozilla-open-leaders/\"\u003eMozilla Líderes Abiertos\u003c/a\u003e y \u003ca href=\"https://carpentries.github.io/instructor-training/\"\u003eFormación de Instructores de The Carpentries\u003c/a\u003e esta formación encarna un enfoque colaborativo e inclusivo de la mentoría. Todos los materiales tienen licencia abierta CC BY-NC 4.0, lo que garantiza que puedan reutilizarse y adaptarse libremente.  El curso incluye diapositivas, plantillas colaborativas para tomar notas, ejercicios y notas de instructor para las personas que quieran utilizar el material para enseñar.\u003c/p\u003e\u003ch2 id=\"directrices-para-mentores-y-mentoras\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#directrices-para-mentores-y-mentoras\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDirectrices para mentores y mentoras\u003c/h2\u003e\u003cp\u003eEscribimos la \u003ca href=\"https://ropensci-org.github.io/champions-mentor-guidelines/\"\u003eDirectrices para Mentores y Mentoras del Programa de Campeon(e|a)s de rOpenSci\u003c/a\u003e para proporcionar un marco completo de herramientas y conocimientos que les permitan desempeñar sus funciones con eficacia. Comienza con una visión general de las responsabilidades de los mentores y mentoras, haciendo hincapié en su papel a la hora de inspirar y asesorar a los aprendices, al tiempo que los conectan con valiosos recursos, redes y experiencias.  La sección \u0026ldquo;Herramientas de los mentores/as\u0026rdquo; ofrece orientación práctica sobre recursos esenciales, como la infraestructura del programa, herramientas para reuniones eficaces, sistemas de colaboración para tomar notas, ayudas para la programación y un Código de Conducta. En \u0026ldquo;Reuniones de tutoría\u0026rdquo;, el manual subraya la importancia de establecer un orden del día para las reuniones, tomar notas, fijar una frecuencia de reuniones adecuada y mantener un seguimiento estructurado para garantizar la responsabilidad y el progreso.  Proporciona \u003ca href=\"https://docs.google.com/document/d/1vjmfbjv9ABJ6fkbtQRMFPydJZ3ypKOIpZ-xf7_iBhvo/\"\u003eplantillas\u003c/a\u003e para todos estos puntos.La sección \u0026ldquo;Habilidades de los mentores/as\u0026rdquo; pretende ser un recordatorio de las competencias básicas mencionadas en el taller, como la escucha activa, las preguntas eficaces y el \u003cem\u003efeedback\u003c/em\u003e constructivo. Además, esta sección describe el modelo GROW, un marco para fijar objetivos que ayuda a mentores, mentoras y practicantes a definir objetivos claros y planes procesables.Hemos desarrollado este recurso como un documento vivo, y siempre agradecemos los comentarios y las actualizaciones para garantizar que siga siendo un recurso valioso para nuestros mentores y mentoras y la comunidad.\u003c/p\u003e\u003ch2 id=\"calendario-mensual-de-actividades\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#calendario-mensual-de-actividades\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCalendario mensual de actividades\u003c/h2\u003e\u003cp\u003eUna calendario mensual es un documento que describe los elementos de acción para un mes concreto dentro del Programa de Campeon(e|a)s. Resulta especialmente útil para nuestro programa estructurado porque ayuda a los mentores, mentoras, practicantes y a la dirección del programa a mantenerse centrados y organizados, a la vez que realizan un seguimiento de los progresos de una forma manejable y con plazos concretos.\u003c/p\u003e\u003cp\u003eEste es un \u003ca href=\"https://docs.google.com/document/d/1-eUCiBukCYRx2Ff6VpMZh2xjAPAxXq5tppVUQjrOWxE/edit?usp=sharing\"\u003eejemplo de calendario mensual\u003c/a\u003e que utilizamos con la segunda cohorte de mentores y mentoras del programa.\u003c/p\u003e\u003ch2 id=\"resumen\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#resumen\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eResumen\u003c/h2\u003e\u003cp\u003eEstas herramientas se han diseñado pensando en las tareas de mentoría del Programa de Campeones de rOpenSci, pero esperamos que también sean útiles para cualquiera que desempeñe este papel.Nos encantaría saber si conoces otros recursos útiles para mentores y mentoras.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/04/08/mentoring-tools/","date_published":"2025-04-08T00:00:00+00:00","date_modified":"2025-04-08T09:25:29-03:00"},{"id":"https://doi.org/10.59350/sy2ve-yve53","title":"Punto de partida: primera _'Conversaciones con la Comunidad'_ del programa de Campeon(a|e)s en español","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["editor","translator"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","campeones"],"content_html":"\u003ch2 id=\"encontrarse-para-compartir-conocimiento-crear-comunidad-y-generar-nuevos-proyectos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#encontrarse-para-compartir-conocimiento-crear-comunidad-y-generar-nuevos-proyectos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEncontrarse para compartir conocimiento, crear comunidad y generar nuevos proyectos.\u003c/h2\u003e\u003cp\u003eAsí se presentó el programa de Campeon(a|e)s en la primera \u0026ldquo;Conversaciones con la comunidad\u0026rdquo; en español que se realizó el 12 de marzo de 2025 y en el que participaron aspirantes de distintos países como Argentina, México, Uruguay, Colombia, Perú, Chile y Estados Unidos.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eLes doy la bienvenida a esta conversación con la Comunidad sobre fomentar la ciencia abierta en América Latina por medio del programa de campeonas y campeones de rOpenSci.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003econ esas palabras Yanina Bellini Saibene, \u003cem\u003eCommunity Manager\u003c/em\u003e de rOpenSci, recibió a todas las personas presentes para sintetizar el objetivo general del programa:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEstá diseñado para identificar, reconocer y recompensar a aquellas personas líderes emergentes de una comunidad.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eLas experiencias siempre son un buen ejemplo del funcionamiento de un programa y por eso, se invitó a dos campeon(a|e)s y un mentor de distintas cohortes del programa: \u003ca href=\"/es/author/andrea-gomez-vargas/\"\u003eAndrea Gomez Vargas\u003c/a\u003e, \u003ca href=\"/es/author/cesar-luis-aybar-camacho/\"\u003eCesar Luis Aybar Camacho\u003c/a\u003e y \u003ca href=\"/es/author/francisco-cardozo/\"\u003eFrancisco Cardozo\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"experiencias-en-primera-persona\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#experiencias-en-primera-persona\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eExperiencias en primera persona\u003c/h2\u003e\u003cp\u003e\u003cem\u003eFrancisco\u003c/em\u003e fue el primero en hablar y poner en contexto su exposición. Explicó que la realidad que están viviendo en Estados Unidos, lugar donde reside actualmente, pone de relieve la importancia de proyectos y comunidades como la de rOpenSci para resguardar la información y generar lugares seguros de intercambio y manejo de datos.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eLo primero que les quería decir es que participar en este tipos de programas es una forma en la que nosotros podemos, de alguna manera, contribuir a que información como ésta, de alta importancia para la ciencia y la toma de decisiones, siga estando viva, siga siendo utilizada y siga disponible para la investigación.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eAsí sintetizó Francisco la importancia del programa. Además, compartió información sobre un proyecto que desarrolló sobre las conexiones entre paquete de R y las redes entre sus autores, relacionandolo con la posibilidad que brindan estos programas de conectarse con una comunidad internacional de primera mano, y por ende, tener acceso a más posibilidades de colaboración y participación.\u003c/p\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/1/01/01/Francisco-red.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/1/01/01/Francisco-red.png\" alt=\"Shiny App mostrando un analisis de redes de dependencias de paquetes\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/1/01/01/Francisco-red.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/1/01/01/Francisco-package.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/1/01/01/Francisco-package.png\" alt=\"Francisco compartiendo la pantalla con la web del paquete de R dissertationData de Catalina\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/1/01/01/Francisco-package.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eEn la misma línea, \u003cem\u003eAndrea\u003c/em\u003e explicó la importancia de trabajar en el paquete que contiene datos y estadísticas a través del concepto de “backup”:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e“Pueden pasar estas historias que dice Francisco, se cae la página o te sacan los datos, y ya no tienes acceso o disponibilidad del dato, dejamos de tener información pública, información disponible, información que nos impide una política pública o proyecto (…) En ese momento no había caído del impacto que podía llegar a tener el proyecto”.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eY por eso, Andrea quiso motivar a los presentes a que postulen sus trabajos y propuestas, con la idea que tengan o en el ámbito que se desarrollen porque el impacto que pueden tener es muy importantes y a veces ni siquiera se ve al comienzo. Resaltó la importancia de seguir a pesar de las \u003cem\u003ecrisis\u003c/em\u003e, aprender de las mismas y buscar apoyo en la comunidad.\u003c/p\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/1/01/01/arcenso-website.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/1/01/01/arcenso-website.png\" alt=\"Sitio web packagedown del paquete arcenso desarrollado por Andrea como su proyecto en el programa de campeones\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/1/01/01/arcenso-website.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/1/01/01/andrea-arcenso.jpg');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/1/01/01/andrea-arcenso.jpg\" alt=\"Andrea presentando funciones del paquete arcenso en persona en una reunion de RenBaires\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/1/01/01/andrea-arcenso.jpg\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eA su turno, César explicó cómo formar parte de la comunidad y participar del programa, le permitió conocer herramientas que le brindaron conocimiento relevante para ahorrar tiempo y recursos. Su aprendizaje estuvo más centrado en el perfeccionamiento y mejora de sus paquetes y procesos:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e“En mi experiencia, he aprendido mucho, ahora si quiero desarrollar un paquete nuevo, creo que me tomaría un par de horas y antes me hubiera tomado semanas”.\u003c/p\u003e\u003c/blockquote\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/1/01/01/cesar.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/1/01/01/cesar.png\" alt=\"Cesar comnpartiendo su experiencia en el programa durante la community call\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/1/01/01/cesar.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/1/01/01/rgeeEstra.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/1/01/01/rgeeEstra.png\" alt=\"Readme del paquete rgeeExtra desarrollado durante el programa de campeones\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/1/01/01/rgeeEstra.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eTanto César como Andrea destacaron la importancia del acompañamiento de sus mentores, que les permitió avanzar en sus proyectos y aprender de la experiencia de otras personas.\u003c/p\u003e\u003cp\u003eLuego, en el espacio de preguntas y respuestas, Yanina contestó las principales dudas para participar del programa. Las consultas más comunes se pueden ver en \u003ca href=\"https://ropenscilabs.github.io/ChampionsProgram/resources/faq.html\"\u003eesta sección de preguntas frecuentes\u003c/a\u003e de la \u003ca href=\"\"\u003eweb del programa de Campeon(a|e)s\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eEl \u003ca href=\"\"\u003evideo de esta reunión está disponible en el canal de Vimeo de rOpenSci en español\u003c/a\u003e y también estan disponibles todas las \u003ca href=\"https://ropenscilabs.github.io/ChampionsProgram/\"\u003enotas colaborativas tomadas durante el encuentro, las respuestas a las preguntas, los recursos compartidos y los comentarios de los participantes\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"lo-que-viene\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lo-que-viene\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLo que viene\u003c/h2\u003e\u003cp\u003eEn la reunión se \u003ca href=\"/events/clinica-champions-2025-04/\"\u003einvitó a los participantes a un próximo encuentro de dos horas, el próximo 15 de abril\u003c/a\u003e. En ese tiempo podrán revisar las dudas sobre las aplicaciones y las ideas que quieren presentar junto a Yanina Bellini Saibene. En esta \u003ca href=\"/events/clinica-champions-2025-04/\"\u003eClínica de aplicación\u003c/a\u003e también tendran posibilidad de trabajar sobre la aplicación tanto para mentores-as como para campeones-as.\u003c/p\u003e\u003cp\u003eEn caso de que alguien quiera coordinar una reunión previa, pueden hacerlo a través del mail: \u003ca href=\"mailto:info@ropensci.org\"\u003einfo@ropensci.org\u003c/a\u003e\u003c/p\u003e\u003cp\u003eToda la información sobre el programa está disponible en el sitio web del programa en español\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/04/03/commcall-programa-2025/","date_published":"2025-04-03T00:00:00+00:00","date_modified":"2025-04-08T11:17:46+02:00"},{"id":"https://doi.org/10.59350/19v94-d8656","title":"Revisión del software, perspectivas de un académico","language":"es","authors":[{"name":"Alex Koiter","url":"https://orcid.org/0000-0002-9355-9561","avatar":"https://github.com/alex-koiter.png","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor","translator"]}],"tags":["Software Peer Review","packages","R","community","mbquartR"],"content_html":"\u003cblockquote\u003e\u003cp\u003eHay un paquete R para esto\u0026hellip; ¿verdad?\u003c/p\u003e\u003c/blockquote\u003e\u003ch2 id=\"cómo-empezó\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-empez%c3%b3\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo empezó\u003c/h2\u003e\u003cp\u003eMi viaje para crear mi primer paquete de R comenzó cuando recibí un correo electrónico de un colega que trabajaba con muestras de suelo archivadas que se recogieron antes de la llegada de la tecnología GPS.Estas muestras se georreferenciaron utilizando las Descripciones Legales de Levantamientos Originales de Manitoba, que proceden del \u003ca href=\"https://en.wikipedia.org/wiki/Dominion_Land_Survey\"\u003esistema Dominion Land Survey\u003c/a\u003e introducido a finales del siglo XIX para organizar el asentamiento y la colonización europea del oeste de Canadá.Mi colega me preguntó si existía un paquete R que pudiera localizar estas muestras para poder trazarlas en un mapa.No lo había.Los datos estaban disponibles públicamente, así que escribí un breve script que buscaba en el conjunto de datos la descripción legal del terreno y devolvía las coordenadas.Esto se transformó en una serie de funciones que acabaron convirtiéndose en un paquete.Y gracias la asistente de la comunidad de rOpenSci, \u003ca href=\"/author/steffi-lazerte/\"\u003eSteffi LaZerte\u003c/a\u003e, quien me insistió y animó, envié mi paquete para la revisión por pares.Así es como \u003ca href=\"https://github.com/ropensci/mbquartR/\"\u003e\u003ccode\u003embquartR\u003c/code\u003e\u003c/a\u003e nació.\u003c/p\u003e\u003ch2 id=\"un-poco-sobre-mí\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-poco-sobre-m%c3%ad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn poco sobre mí\u003c/h2\u003e\u003cp\u003eSiempre me he considerado más un científico del suelo y del medio ambiente que un programador de R, por lo que me daba un poco de miedo crear un paquete de R y mucho más someterlo a una revisión por pares.Éste fue mi primer paquete y desarrollarlo no sólo puso a prueba mis conocimientos de R, sino que supuso aprender mucho por el camino.También me pareció que la funcionalidad de mi paquete era mínima, teniendo en cuenta los excelentes y amplios paquetes de R que ya existen.Definitivamente tuve un caso de \u003ca href=\"https://en.wikipedia.org/wiki/Impostor_syndrome\"\u003esíndrome deñ imposto\u003cstrong\u003eR\u003c/strong\u003e \u003c/a\u003e\u003c/p\u003e\u003cp\u003eTambién he tenido muchas experiencias con la revisión por pares, todas ellas a través de revistas académicas.Otras personas han revisado mi trabajo, yo he revisado el trabajo de otras personas y como editor de temas/envíos de una revista internacional, he solicitado y leído muchas revisiones.Todas ellas han sido revisiones a ciegas, en las que los autores no conocen la identidad de quines revisan, pero las personas revisoras conocen la identidad de los y las autoras.El proceso de revisión también se realiza de forma cerrada, donde sólo los autores, el equipo revisor y el personal de la revista ven el proceso.Esto es relativamente habitual en mi mundo académico.En general, diría que en mi experiencia este tipo de proceso de revisión ha sido bastante respetuoso y funcional (\u003ca href=\"https://dictionary.cambridge.org/dictionary/english/ymmv\"\u003eYMMV\u003c/a\u003e).Sin embargo, he visto sin duda que tanto los comentarios de las personas que revisaron como las respuestas de los autores son algo groseras, bruscas y a menudo carentes de toda cortesía.Además, tanto como autor y como revisor, a menudo he deseado que hubiera una oportunidad y un espacio para debatir, pedir aclaraciones y consejos, y dar las gracias a autores y revisores por su trabajo.Por último, también existe el temido \u0026ldquo;rechazo de escritorio\u0026rdquo;, en el que el manuscrito nunca llega a pasar la revisión por pares porque la revista considera que el trabajo está fuera de ámbito, carece de rigor científico, no encaja y/o carece de novedad.No importa las horas invertidas en darle formato al documento para cumplir las directrices de autor, sólo para ser rechazado inmediatamente.\u003c/p\u003e\u003ch2 id=\"mi-experiencia-con-la-revisión-por-pares-del-software-ropensci\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mi-experiencia-con-la-revisi%c3%b3n-por-pares-del-software-ropensci\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMi experiencia con la revisión por pares del software rOpenSci\u003c/h2\u003e\u003cp\u003eDesde el principio, aprecié mucho la posibilidad de hacer una \u003ca href=\"https://github.com/ropensci/software-review/issues/649\"\u003econsulta previa a la presentación\u003c/a\u003e.Se acabaron las horas de formateo sólo para recibir el temido rechazo de escritorio! o, en este caso, cumplir los requisitos de presentación en cuanto a funcionalidad y documentación del paquete.Este proceso fue muy sencillo, crear un nuevo \u003ca href=\"https://github.com/ropensci/software-review/issues\"\u003e\u003cem\u003eissue\u003c/em\u003e\u003c/a\u003e y rellenar la plantilla previa al envío.Recibí una respuesta entusiasta en menos de 2 semanas haciéndome saber que \u003ccode\u003embquartR\u003c/code\u003e era una buena opción.¡Hora de ponerse a trabajar!Una vez que sentí que había cumplido todas las directrices indicadas en el \u003ca href=\"https://devguide.ropensci.org/es/index.es.html\"\u003eGuía de desarrollo de rOpenSci\u003c/a\u003e estaba preparado para enviar mi paquete.Las instrucciones sencillas hicieron que el proceso de envío fuera pan comido.Abrí un nuevo \u003ca href=\"https://github.com/ropensci/software-review/issues/658\"\u003e\u003cem\u003eissue\u003c/em\u003e\u003c/a\u003e y completé la plantilla.\u003c/p\u003e\u003cp\u003eEl editor asignado y las dos revisoras voluntarias ¡fueron fantásticos!A pesar de que el paquete devolvía errores en varios pasos del proceso de revisión, nunca me hicieron sentir mal por enviar algo que no era perfecto.En cada paso e interacción sentí que las revisoras intentaban ayudarme a mejorar el paquete, no simplemente decirme que lo hiciera mejor.Las revisoras tenían grandes sugerencias sobre cómo mejorar la experiencia del usuario del paquete.El paquete tiene ahora advertencias y errores más informativos, y se ha añadido funcionalidad adicional a la función de mapeo.También aprecié mucho la atención en la revisión al paquete en su conjunto, no sólo revisaron la funcionalidad del paquete, sino que también prestaron atención a toda la documentación.Desde el \u003cem\u003eREADME\u003c/em\u003e hasta los artículos y las funciones, todo fue revisado.\u003c/p\u003e\u003cp\u003eLa apertura y la naturaleza de hilo de debate del proceso de revisión me permitieron hacer preguntas y obtener aclaraciones sobre las solicitudes de revisión, las sugerencias y el propio proceso de revisión.Esto supuso un gran cambio con respecto a mis experiencias anteriores con el proceso de revisión y me \u003cstrong\u003eencantaría\u003c/strong\u003e ver más de esto en el proceso de revisión de revistas académicas en el que me encuentro a menudo.La escritura científica, como todas las formas de comunicación, será interpretada de forma diferente por distintas personas y es aquí donde tener la posibilidad de mantener un debate entre los autores y los revisores puede ser tan beneficioso.Incluso si el proceso siguiera siendo ciego (anónimo), veo muchos beneficios.Sospecho que este enfoque fomentaría un entorno de colaboración que daría lugar a una ciencia más sólida y fiable.También aprecio mucho que el trabajo y las contribuciones de las personas que revisan sean claramente visibles para todos y que reciban el reconocimiento que merecen.También pude darles las gracias tanto como parte del proceso de revisión como dentro del paquete \u003ca href=\"https://docs.ropensci.org/mbquartR/authors.html\"\u003e\u003cem\u003eDESCRIPTION\u003c/em\u003e\u003c/a\u003e.He escrito artículos para revistas que se han mejorado sustancialmente a partir de las sugerencias e ideas de las revisoras y, en muchos casos, no hay una buena forma de reconocer esta contribución o de que el revisor obtenga el crédito.Creo que la declaración \u0026ldquo;Los autores desean agradecer a los dos revisores anónimos su ayuda para mejorar este artículo\u0026rdquo; no les da el reconocimiento adecuado ni muestra mi gratitud.\u003c/p\u003e\u003ch2 id=\"resumen\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#resumen\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eResumen\u003c/h2\u003e\u003cp\u003eEnviar mi paquete a la revisión por pares de rOpenSci fue una experiencia completamente diferente a las revisiones académicas tradicionales a las que estoy acostumbrado.El proceso fue abierto, colaborativo y constructivo.En lugar del sistema cerrado y ciego al que estaba acostumbrado, en el que los revisores suelen ser anónimos y las interacciones limitadas, la revisión de rOpenSci se pareció más a una conversación.Podía hacer preguntas y recibir comentarios reflexivos y respetuosos para mejorar el paquete.Los revisores se centraron en todo, desde la funcionalidad del paquete hasta la documentación y la experiencia general del usuario.Los revisores me ayudaron a mejorar el paquete y, lo que es más importante, recibieron un claro reconocimiento y mi agradecimiento por sus contribuciones.Esto me hizo darme cuenta de lo valiosos que pueden ser el diálogo abierto y el intercambio de créditos en la revisión por pares, algo que me encantaría ver más en las publicaciones académicas.\u003c/p\u003e\u003cp\u003eUn \u003cstrong\u003eenorme\u003c/strong\u003e gracias al editor \u003ca href=\"/author/jeff-hollister/\"\u003eJeff Hollister\u003c/a\u003e así como a \u003ca href=\"https://github.com/sheilasaia\"\u003eSheila Saia\u003c/a\u003e y a \u003ca href=\"https://emilyhmarkowitz.github.io/emilyhmarkowitz/\"\u003eEmily (Em) Markowitz\u003c/a\u003e ¡por sus atentas críticas y su apoyo para que mi paquete brillara!No sólo ayudaron a mejorar el paquete, sino que también hicieron que toda la experiencia de revisión fuera agradable.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/03/25/r-package-review/","date_published":"2025-03-25T00:00:00+00:00","date_modified":"2025-05-07T14:28:59-03:00"},{"id":"https://doi.org/10.59350/gvg6h-24382","title":"Nueva cohorte del Programa de Campeon(a|e)s rOpenSci","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["editor"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","desarrollo de capacidades","campeones","multilingüe"],"content_html":"\u003cp\u003eTenemos grandes noticias: ¡Ya esta abierta la convocatoria para ser parte de la nueva cohorte de nuestro Programa durante 2025! ¡Y por primera vez será en español!\u003c/p\u003e\u003cp\u003eNuestro programa busca identificar, reconocer y recompensar a personas que son líderes en una comunidad de ciencia abierta, ingeniería de software de investigación y la comunidad de programación R.\u003c/p\u003e\u003cp\u003eEl programa de este año está enfocado en personas de América Latina y por primera vez se llevará a cabo completamente en español.  El objetivo principal es fomentar el software de investigación sostenible como pilar de la Ciencia Abierta en América Latina mediante el desarrollo de capacidades y comunidad.\u003c/p\u003e\u003cp\u003eEste programa es una plataforma increíble para desarrollar tu proyecto de código abierto con el apoyo de expertos, interactuando, compartiendo y fortaleciendo una red con otras personas que también desarrollan ciencia abierta y reproducible en tu parte del mundo.\u003c/p\u003e\u003ch2 id=\"quiénes-pueden-participar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qui%c3%a9nes-pueden-participar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Quiénes pueden participar?\u003c/h2\u003e\u003cp\u003eBuscamos personas que trabajen en STEAM, que sean de América Latina, que tengan un buen manejo oral y escrito de la lengua española y que ya tengan conocimiento y experiencia desarrollando con R.\u003c/p\u003e\u003cp\u003ePara las personas que quieran ser mentoras, buscamos que tengan experiencia previa desarrollando, manteniendo o contribuyendo a paquetes de R (si son de rOpenSci es aún mejor), o que hayan participado en el proceso de revisión de rOpenSci o en otro proyecto de revisión de código por pares. También es importante que estén dispuestas a guiar y enseñar a otras personas y a trabajar en colaboración.\u003c/p\u003e\u003cp\u003ePueden ver más detalles sobre los requisitos para participar en cada rol en \u003ca href=\"https://ropenscilabs.github.io/ChampionsProgram/\"\u003enuestro sitio web especifico del programa (en español)\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"por-qué-ser-campeona\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-qu%c3%a9-ser-campeona\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por qué ser campeon/a?\u003c/h2\u003e\u003cp\u003eA lo largo de 12 meses, recibirás formación, tutoría individual para el desarrollo de un proyecto de software libre, un estipendio anual y participarás en diversas actividades de construcción y fortalecimiento de comunidades.\u003c/p\u003e\u003cp\u003eTambien debes desarrollar un proyecto como la creación de nuevos paquetes R o la participación en el proceso de revisión por pares de rOpenSci que enseña las mejores prácticas para desarrollar y compartir software de investigación y te invita a formar parte de una comunidad internacional.\u003c/p\u003e\u003cp\u003eAl final del programa,  puedes elegir cómo quieres retribuir a tus propias comunidades e instituciones, ya sea a través de la divulgación, la tutoría o la promoción de prácticas de ciencia abierta y software libre de investigacion.\u003c/p\u003e\u003cp\u003eCuando termines el programa, estarás plenamente integrado en la comunidad de rOpenSci, que te proporciona apoyo continuo y oportunidades de crecimiento.\u003c/p\u003e\u003ch2 id=\"por-qué-ser-mentora\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-qu%c3%a9-ser-mentora\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por qué ser mentor/a?\u003c/h2\u003e\u003cp\u003eDesempeñarás un papel fundamental en el programa de rOpenSci, ayudando a seleccionar, asesorar e inspirar a quienes participen como campeones.\u003c/p\u003e\u003cp\u003ePondrás en contacto a campeones/as con personas, programas y organizaciones; recomendarás recursos, lecturas, formación y experiencias; y proporcionarás comentarios sobre el proyecto que desarrollen.\u003c/p\u003e\u003cp\u003eRecibirás entrenamiento sobre mentoría, adquirirás experiencia y habilidades para realizar tu tarea, un estipendio anual por tu participación, se te reconocerá en el sitio web de rOpenSci y en otros canales de comunicación como las redes sociales, y podrás hacer nuevas conexiones a través de las redes de las otras personas que participan.\u003c/p\u003e\u003cp\u003eCon tu mentoria y ayuda para dar forma a este programa, también estarás retribuyendo a la comunidad rOpenSci de una forma estupenda y significativa.\u003c/p\u003e\u003ch2 id=\"cómo-aplicar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-aplicar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo aplicar?\u003c/h2\u003e\u003cp\u003eSe debe completar el formulario de aplicación antes del \u003cstrong\u003emiércoles 30 de abril de 2025\u003c/strong\u003e. Los formularios deben completarse en \u003cstrong\u003eespañol\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eSi quieren conocer la información necesaria para completar el formulario \u003ca href=\"https://ropenscilabs.github.io/ChampionsProgram/\"\u003epueden verla en la web del programa\u003c/a\u003e.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://airtable.com/appF6OXmxkk8VmR8a/shrZnWDRKxXUEmLRM\"\u003eCompleta el formulario para aplicar como Mentor(a|e)s\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://airtable.com/appF6OXmxkk8VmR8a/shrlvgcNz1R4CoaQN\"\u003eCompleta el formulario para aplicar como Campeon(a|e)s\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eSi tenes más dudas o preguntas podes participar de la \u003ca href=\"/es/commcalls/champions-latino-2025/\"\u003e\u003cem\u003eCommunity Call\u003c/em\u003e que se realizará el 12 de marzo de 2025\u003c/a\u003e donde participarán mentores y campeones de cohortes anteriores contando sus experiencias en el programa.\u003c/p\u003e\u003cp\u003eAdemás, tendremos una \u003ca href=\"/events/clinica-champions-2025-04/\"\u003eclínica de aplicación\u003c/a\u003e el \u003cstrong\u003emartes 15 de Abril de 2025\u003c/strong\u003e. En esta clínica, la coordinadora del programa estará disponible para responder preguntas y ayudar a los postulantes a completar el formulario de aplicación.\u003c/p\u003e\u003cp\u003eY si aún tenes dudas o consultas, \u003ca href=\"mailto:info@ropensci.org\"\u003epodés escribirnos un mail info@ropensci.org\u003c/a\u003e\u003c/p\u003e\u003cp\u003e¡Esperamos tu solicitud con mucho entusiasmo!\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/03/10/campeones-america-latina/","date_published":"2025-03-10T00:00:00+00:00","date_modified":"2025-03-10T09:22:49-03:00"},{"id":"https://doi.org/10.59350/h78kf-xcy71","title":"Ciencia Abierta y Código Abierto sólo con Diversidad, Equidad, Inclusión y Accesibilidad","language":"es","authors":[],"tags":["comunidad"],"content_html":"\u003cp\u003eEn rOpenSci, nuestra misión es\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003efomentar una cultura que valore la investigación abierta y reproducible utilizando datos compartidos y software reutilizable\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003ey lo conseguimos mediante\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003ela creación de infraestructura social a través de una comunidad acogedora y diversa\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eCreemos que ha llegado el momento de reiterar y aclarar por qué y qué significa esto.\u003c/p\u003e\u003cp\u003eLo abierto en el código abierto y la ciencia abierta significa algo más que cómo compartimos el código o los datos.Significa derribar las barreras a la participación para que sea abierta y accesible a todas las personas,para que puedan unirse a los beneficios y alegrías de la ciencia y quitándonos las anteojeras ante la humanidad de quienes antes pasábamos por alto.\u003c/p\u003e\u003cp\u003eAl ampliar el círculo de nuestros colaboradores, ampliamos el conocimiento y las perspectivas.Esto, a su vez, nos ayuda a resolver los problemas con mayor rapidez y eficacia, y a anticiparnos y adaptarnos a más situaciones.Un círculo diverso de colaboradoras permite obtener resultados más robustos, un software mejor y una ciencia más sólida.Todas las personas juntas podemos avanzar hacia esos objetivos más rápido, más lejos y mejor.\u003c/p\u003e\u003cp\u003eSin embargo, esta perspectiva utilitaria es sólo una de las razones para acoger a todos en nuestra comunidad.Hacer nuestra ciencia mejor y reconocer la humanidad de cada persona sirven al mismo objetivo.Practicamos y predicamos el código abierto y la ciencia abierta para que la ciencia mejore, para que pueda producir innovación y bienes públicos que eleven a todas las personas.Si no apoyamos los derechos humanos de los demás, fracasamos en la razón por la que hacemos ciencia en primer lugar.\u003c/p\u003e\u003cp\u003ePara ser absolutamente claros, cuando decimos todas las personas, incluimos:\u003c/p\u003e\u003cp\u003eLas personas LGBTQ+.\u003c/p\u003e\u003cp\u003ePersonas trans.\u003c/p\u003e\u003cp\u003eTodos los géneros.\u003c/p\u003e\u003cp\u003eIndígenas.\u003c/p\u003e\u003cp\u003ePersonas de color.\u003c/p\u003e\u003cp\u003eInmigrantes y refugiados de cualquier nación.\u003c/p\u003e\u003cp\u003ePersonas neurodivergentes.\u003c/p\u003e\u003cp\u003ePersonas con discapacidad.\u003c/p\u003e\u003cp\u003eEstamos orgullosos de \u003ca href=\"/champions/\"\u003ePrograma Campeon(a|e)s\u003c/a\u003e en el que hemos reunidos a mentores y participantes de grupos históricamente excluidos de la informática científica para que contribuyan al código abierto y promuevan la ciencia abierta en sus comunidades locales.También estamos orgullosos de nuestro \u003ca href=\"/multilingual-publishing/\"\u003eprograma multilingüe\u003c/a\u003e para hacer que los recursos de desarrollo de R y la revisión por pares estén disponibles en español, y ahora en portugués, a través de la traducción colaborativa realizada por la comunidad y los flujos de trabajo utilizando LLMs, centrados en las personas.Nuestro \u003ca href=\"/code-of-conduct/\"\u003eCódigo de Conducta\u003c/a\u003e es una herramienta esencial para la inclusión y la seguridad.Nos lo tomamos en serio.Estamos orgullosos del trabajo que hacemos con socios como \u003ca href=\"https://rladies.org/\"\u003eR-Ladies\u003c/a\u003e y \u003ca href=\"https://latinr.org/\"\u003eLatinR\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eDiversidad, Equidad, Inclusión y Accesibilidad (DEIA) es una frase o marco utilizado para describir el trabajo de hacer que todas las personas sean bienvenidas en una comunidad.Los avances que han logrado estos programas se ven amenazados por gobiernos e instituciones de todo el mundo que intentan suprimir los programas DEIA y excluir y borrar a las personas que estos programas pretenden reconocer.Condenamos estos ataques.rOpenSci es una comunidad global, con participantes en todos los continentes, y ante estas amenazas nuestra misión no cambiará.No rescindiremos nuestros valores ni la bienvenida que damos a todas las personas, y seguiremos apoyando a nuestra comunidad y a nuestros compañeros y compañeras para que hagan lo mismo.\u003c/p\u003e\u003cp\u003eEsto es un viaje, y no estamos ni cerca de terminar.Podemos hacer más y ser mejores.Nos esforzamos por cultivar una comunidad en la que todas las personas sean bienvenidas, respetadas, apoyadas y valoradas.Incluir a toda la humanidad está y estará siempre en el corazón de la ciencia abierta.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2025/02/05/no-ciencia-sin-deia/","date_published":"2025-02-05T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/spdq4-ywb23","title":"Presentación de la Guía de localización y traducción de rOpenSci","language":"es","authors":[{"name":"Elio Campitelli","url":"https://ropensci.org/es/author/elio-campitelli/","avatar":"https://ropensci.org/img/team/elio-campitelli.jpg","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Pao Corrales","url":"https://orcid.org/0000-0003-1923-9129","avatar":"https://ropensci.org/img/team/paola-corrales.png","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["multilingüe","comunidad"],"content_html":"\u003cp\u003eDesde 2022, rOpenSci ha estado desarrollando herramientas y procesos para localizar y traducir nuestros contenidos.Como resultado de este esfuerzo, hemos creado un conjunto de directrices para ayudar a nuestracomunidad a traducir y localizar nuestros recursos.Lo que comenzó como un reto interno se ha convertido en un plan de colaboración que creemos que puedeayudar a transformar la forma en que se comparten los recursos científicos en un contexto de investigación multilingüe.\u003c/p\u003e\u003cp\u003ePor eso, nos alegra compartir la ¡primera versión de la\u003ca href=\"https://translationguide.ropensci.org/\"\u003eGuía de localización y traducción de rOpenSci\u003c/a\u003e!\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2024/12/17/localization-guide/multilingual-chapter.png\"\t\t\talt=\"Los primeros párrafos de la sección Aspectos generales de la fase 1 del proceso de traducción en inglés (lado izquierdo) y español (lado derecho). Mostrando el texto y los mapas conceptuales en ambos idiomas.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eCapítulo sobre Aspectos generales de la fase 1 del proceso de traducción al inglés y al español\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eEstas directrices explican los fundamentos y el proceso de localización y traducción de nuestros recursos.Están diseñadas para apoyar a los miembros de la comunidad que contribuyen ala \u003ca href=\"/multilingual-publishing/\"\u003eproyecto de publicación multilingüe\u003c/a\u003e.Por ello, esta guía también es multilingüe en sí misma,ya que ofrece directrices generales y específicas para traduciry localizar nuestros recursos en los diferentes \u003ca href=\"https://github.com/ropensci-review-tools/translation_guide/?tab=readme-ov-file#languages-with-active-projects\"\u003eidiomas activos\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eLa guía es más que una referencia: es un documento vivo de la experiencia colectivade nuestra comunidad y de todas las personas voluntarias que contribuyen a este proyecto.\u003c/p\u003e\u003cp\u003eVamos a presentarte la guía con un recorrido por sus seis secciones.\u003c/p\u003e\u003ch3 id=\"prefacio-una-invitación-a-la-colaboración\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#prefacio-una-invitaci%c3%b3n-a-la-colaboraci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ca href=\"https://translationguide.ropensci.org\"\u003ePrefacio\u003c/a\u003e: Una invitación a la colaboración\u003c/h3\u003e\u003cp\u003eUn breve resumen de la finalidad del libro, el público al que va dirigido, los objetivos de las directrices einstrucciones sobre cómo contribuir. Queríamos crear algo que diera la bienvenida apersonas que quisieran colaborar de todos los ámbitos, ya sea que fueras un traductor profesional,una desarrolladora o simplemente alguien a quien le apasiona hacer más accesible el conocimiento científico.\u003c/p\u003e\u003ch3 id=\"motivación-hacer-frente-a-la-desigualdad-lingüística\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#motivaci%c3%b3n-hacer-frente-a-la-desigualdad-ling%c3%bc%c3%adstica\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ca href=\"https://translationguide.ropensci.org/motivation.html\"\u003eMotivación\u003c/a\u003e Hacer frente a la desigualdad lingüística\u003c/h3\u003e\u003cp\u003eHemos vivido de primera mano los retos a los que se enfrentan las personas que no hablan el inglés de forma nativaen la comunicación científica.Esta sección explica la importancia de localizar y traducir nuestros recursos.Analiza el impacto de las barreras lingüísticas, los principios de la localización y traducciónrealizadas de forma colaborativa, y cómo estas actividades contribuyen a la construcción de la comunidad.Este capítulo es nuestro argumento para el cambio.\u003c/p\u003e\u003ch3 id=\"visión-general-nuestro-marco-técnico\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#visi%c3%b3n-general-nuestro-marco-t%c3%a9cnico\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ca href=\"https://translationguide.ropensci.org/intro.html\"\u003eVisión general\u003c/a\u003e Nuestro marco técnico\u003c/h3\u003e\u003cp\u003eEsta sección presenta los conceptos de localización y traducción, explicando cómo mejoran la accesibilidad.Presentamos las herramientas y métodos que hacen posible la traducción colaborativa,esbozando la infraestructura técnica, la organización del trabajo y los aspectos generalesde nuestro proceso de traducción y localización.\u003c/p\u003e\u003ch3 id=\"guía-para-traducir-y-revisar-nuestras-ideas-en-la-práctica\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#gu%c3%ada-para-traducir-y-revisar-nuestras-ideas-en-la-pr%c3%a1ctica\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ca href=\"https://translationguide.ropensci.org/howtoreview.html\"\u003eGuía para traducir y revisar\u003c/a\u003e Nuestras ideas en la práctica\u003c/h3\u003e\u003cp\u003eEsta sección ofrece una guía detallada sobre la traducción y revisión de nuestros recursos.Abarca cómo contribuir a un proyecto lingüístico nuevo o existente y gestionar el proceso de localización y traducción.También proporciona directrices técnicas y generales de revisión para garantizar la calidadde la traducción: equilibrar la eficacia de la traducción automática con lacomprensión cualificada que sólo pueden proporcionar los y las revisores humanos.\u003c/p\u003e\u003ch3 id=\"directrices-lingüísticas-específicas-abrazar-la-diversidad-lingüística\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#directrices-ling%c3%bc%c3%adsticas-espec%c3%adficas-abrazar-la-diversidad-ling%c3%bc%c3%adstica\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ca href=\"https://translationguide.ropensci.org/specific_guidelines.html\"\u003eDirectrices lingüísticas específicas\u003c/a\u003e Abrazar la diversidad lingüística\u003c/h3\u003e\u003cp\u003eEste capítulo tiene un contenido específico para cada versión lingüística de la guía.Esto significa que las instrucciones para inglés, español y portugués pueden diferir entre sí,según los acuerdos alcanzados por la comunidad y plasmados en este capítulo.Su objetivo es ofrecer orientaciones para tratar desde los términos técnicos hasta los matices culturales,respetando las características propias de cada lengua y los acuerdos comunitarios sobre cómolocalizar y traducir los contenidos.Esta sección también aborda la localización de citas, código, diagramas y datos.Este capítulo incluye glosarios colaborativos que son recursos terminológicos completos,útiles como referencia y que ayudan a las personas que trabajan en la traducción a tomardecisiones coherentes e informadas.\u003c/p\u003e\u003ch3 id=\"news-noticias\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#news-noticias\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ca href=\"https://translationguide.ropensci.org/booknews.html\"\u003eNEWS (Noticias)\u003c/a\u003e\u003c/h3\u003e\u003cp\u003eEsta sección documenta todos los cambios realizados en las directrices en cada versión, por quién,y muestra la mejora continua de la guía.\u003c/p\u003e\u003ch2 id=\"próximos-pasos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pr%c3%b3ximos-pasos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePróximos pasos\u003c/h2\u003e\u003cp\u003eEsta guía está pensada para quienes tienen interés en localizar materiales de rOpenScio en contribuir al mantenimiento de contenidos localizados,pero esperamos que también sea útil para cualquier persona encargada de localizar material más allá de nuestra comunidad.Queremos que nuestros procesos, acuerdos y las lecciones que hemos aprendido beneficien también a otras comunidades.\u003c/p\u003e\u003cp\u003eEsta guía es un documento vivo que seguirá mejorando con los aportes de las personas de nuestra comunidad,perfeccionando y ampliando nuestro trabajo.Está disponible en inglés y español, con planes para traducirla a otros idiomas en funciónde nuestros proyectos de traducción activos, como el portugués.\u003c/p\u003e\u003cp\u003eLo consideramos un punto de partida para la conversación, la colaboración y el cambio significativoen la forma en que compartimos el conocimiento científico más allá de las fronteras lingüísticas.\u003c/p\u003e\u003cp\u003eSi quieres contribuir a los esfuerzos de traducción o mejorar esta guía,consulta la \u003ca href=\"https://github.com/ropensci-review-tools/translation_guide#active\"\u003elista de idiomas para los que hay proyectos de traducción activos y su estado\u003c/a\u003e.\u003c/p\u003e\u003cp\u003ePuedes ponerte en contacto con nosotros en \u003ca href=\"mailto:info@ropensci.org\"\u003einfo@ropensci.org\u003c/a\u003eo \u003ca href=\"https://github.com/ropensci-review-tools/translation_guide/issues\"\u003eabre un \u003cem\u003eissue\u003c/em\u003e en el repositorio de la guía\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eY ahora, ¡a traducir y localizar!\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/12/17/guia-localizacion/","date_published":"2024-12-17T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/zbkyx-zcb90","title":"R-Universe es ahora un proyecto de alto nivel del R Consortium","language":"es","authors":[{"name":"Jeroen Ooms","url":"https://orcid.org/0000-0002-4035-0289","avatar":"https://ropensci.org/img/team/jeroen_ooms.jpg","_role":["author"]},{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor"]}],"tags":["r-universe","subsidio","financiamiento","infraestructura"],"content_html":"\u003cp\u003eNos complace anunciar que \u003ca href=\"/r-universe/\"\u003eR-Universe\u003c/a\u003eha sido \u003ca href=\"https://r-consortium.org/posts/r-universe-named-r-consortiums-newest-top-level-project/\"\u003edesignado\u003c/a\u003e como  un nuevo \u003ca href=\"https://r-consortium.org/all-projects/\"\u003eProyecto de alto nivel\u003c/a\u003e del  \u003ca href=\"https://r-consortium.org\"\u003eR Consortium\u003c/a\u003e ¡Nos alegramosde estar en compañía de proyectos comunitarios y de infraestructuras que han sidodesignados críticos para el Ecosistema R!, como \u003ca href=\"https://blog.r-hub.io/\"\u003eR-hub\u003c/a\u003e, \u003ca href=\"https://r-dbi.org/\"\u003eDBI\u003c/a\u003e, \u003ca href=\"https://rladies.org/\"\u003eR-Ladies\u003c/a\u003e y el\u003ca href=\"https://r-consortium.org/all-projects/isc-working-groups.html\"\u003ePrograma Grupos de Usuari(a|o)s de R\u003c/a\u003e y agradecemos el apoyo de R Consortium y desu \u003ca href=\"https://r-consortium.org/about/governance#infrastructure-steering-committee\"\u003eComité Directivo de Infraestructura (ISC)\u003c/a\u003e\u003c/p\u003e\u003cp\u003eEl R Consortium apoya a la comunidad R para ayudar a desarrollar la infraestructuranecesaria para garantizar la estabilidad y el crecimiento a largo plazo del ecosistema R. Para ello,han apoyado generosamente a R-Universe durante el último año. Ahora, al darle aR-Universe el estatus de proyecto de alto nivel, el R Consortium se ha comprometido a apoyar a R-Universe.durante tres años más. Este respaldo y esta inversión nos ayudarán a alcanzar nuestro objetivode hacer de R-Universe una plataforma sostenible y escalable para los paquetes de Ren la que puedan confiar particulares y organizaciones. Jeroen Ooms,desarrollador principal de R-Universe, también se unirá al Comité Directivo de Infraestructura del R Consortium.Estamos encantados de contribuir a apoyar importantes proyectos de la comunidad deR en el futuro.\u003c/p\u003e\u003cp\u003eR-Universe es la plataforma de rOpenSci para mejorar la publicación y el descubrimiento de software de investigación en R.Sirve como \u003cstrong\u003ecatálogo global\u003c/strong\u003e de software, artículos y datosen los repositorios de R.  Se trata de una \u003cstrong\u003eplataforma de publicación de software\u003c/strong\u003e que proporciona un procesototalmente automatizado para probar, crear y publicar paquetes de R. También esun \u003cstrong\u003emeta-repositorio\u003c/strong\u003e que ofrece una infraestructura común tanto a particulares como aorganizaciones para gestionar repositorios de paquetes R personalizados utilizando su propio enfoquede gestión de publicación y el control de calidad.\u003c/p\u003e\u003cp\u003eR-Universe ya da servicio a decenas de miles de paquetes publicados por más de mil organizaciones.Estamos entusiasmados con lo que nos espera. Este año, nuestro objetivo es mejorar las funciones que sirven a grupos queestán creando repositorios colaborativos a gran escala utilizando la plataforma y la API de R-Universe,como el nuevo \u003ca href=\"https://r-multiverse.org/\"\u003eR-Multiverse\u003c/a\u003e. Esto incluyeapoyo para cosas como ramas de desarrollo y producción de universos,  comprobaciones personalizadas de los paquetesy pasos de aprobación manual para que los propietarios de universos puedan curar y gobernar lascolecciones de paquetes como mejor les parezca.También tenemos previsto ampliar nuestra base de colaboradores mediante más documentación ydocumentación y la colaboración con socios, y mejorar el rendimiento y la fiabilidad a medida queseguimos creciendo. Queremos trabajar con la comunidad R para hacer de R-Universe una plataforma de primera clase para el software R.un hogar de primera clase para el software R.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/12/03/r-universe-r-consortium-tlp/","date_published":"2024-12-03T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/ep04z-7d844","title":"Fomentando la Ciencia Abierta en América Latina: CZI otorga fondos para el desarrollo sostenible de software de investigación","language":"es","authors":[{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["subsidio","financiamiento","comunidad","desarrollo de capacidades","campeones","multilingüe"],"content_html":"\u003cp\u003e\u003cstrong\u003e¡Tenemos noticias emocionantes!\u003c/strong\u003e La Iniciativa Chan Zuckerberg otorgó a rOpenSci un nuevo financiamiento para fomentar el software de investigación sostenible como pilar de la Ciencia Abierta en América Latina mediante el desarrollo de capacidades y comunidad. Con esta financiación de $340.000, estamos planeando lanzar una versión en español de nuestro Programa de Campeon(a|e)s, junto con otras iniciativas nuevas para hacer que el desarrollo de software sostenible sea más accesible a las personas que investigan de toda la región. Veamos cómo apoyará este proyecto a los y las científicas de América Latina.\u003c/p\u003e\u003cp\u003eEn la ciencia abierta, crear y mantener un buen software se ha convertido en algo esencial para garantizar la calidad de la investigación y hacer que los hallazgos sean reproducibles y accesibles. América Latina lleva construyendo una sólida infraestructura de ciencia abierta y colaborativa desde los años 50, gracias a las políticas institucionales de acceso abierto. Estas políticas se han centrado en las publicaciones y los datos de investigación de acceso abierto, pero el software no suele considerarse una parte crucial de la investigación. La mayoría de los investigadores no reciben formación formal en desarrollo de software, y no existe una trayectoria profesional clara para quienes se centran en este ámbito.\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e Además, como ocurre en la academia de todo el mundo, el desarrollo de software no suele reconocerse como un logro académico.\u003c/p\u003e\u003ch2 id=\"un-programa-de-campeonaes-centrado-en-américa-latina\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-programa-de-campeonaes-centrado-en-am%c3%a9rica-latina\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn Programa de Campeon(a|e)s centrado en América Latina\u003c/h2\u003e\u003cp\u003eAhí es donde el \u003ca href=\"/champions/\"\u003ePrograma de Campeon(a|e)s de rOpenSci\u003c/a\u003e entra en juego. Lanzado en 2022 -con el apoyo de CZI-, está diseñado para ayudar a personas de grupos subrepresentados a participar en la ciencia abierta, la ingeniería de software de investigación y la comunidad de programación R. A lo largo de 12 meses, los participantes reciben formación, tutoría y participan en diversas actividades de construcción de comunidad. Desarrollan proyectos como la creación de nuevos paquetes R o la participación en el \u003ca href=\"/software-review/\"\u003eproceso de revisión por pares de rOpenSci\u003c/a\u003e que les enseña las mejores prácticas para desarrollar y compartir software de investigación y les invita a formar parte de una comunidad internacional.\u003c/p\u003e\u003cp\u003eAl final del programa, los participantes pueden elegir cómo quieren retribuir a sus propias comunidades e instituciones, ya sea a través de la divulgación, la tutoría o la promoción de prácticas de ciencia abierta. Cuando terminan, están plenamente integrados en la comunidad de rOpenSci, que les proporciona apoyo continuo y oportunidades de crecimiento.\u003c/p\u003e\u003cp\u003eLa demanda es especialmente alta en América Latina, donde el desarrollo de software de investigación sostenible es cada vez más importante. En sólo dos años, el programa recibió 227 solicitudes de 55 países, de las cuales el 40% procedían de América Latina. También hay una diversidad significativa en términos de género e idioma, con más de la mitad de las personas que aplicaron identificándose como mujeres u otras minorías de género, y un 42% con el español como lengua principal.\u003c/p\u003e\u003cp\u003eLas barreras lingüísticas son un gran reto para las personas dedicadas a la investigación en América Latina y que quieren participar en la ciencia abierta global\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e . Para derribar estas barreras, tenemos previsto poner en marcha una versión en español del Programa de Campeon(a|e)s, así como localizar los materiales de rOpenSci al portugués.\u003c/p\u003e\u003cp\u003eSentimos mucho entusiasmo y orgullo de que los participantes hispanohablantes de cohortes anteriores del programa se unan en roles de mentoria y docencia para este programa específico en castellano apoyando a los futuros participantes del programa de Campeon(a|e)s de rOpenSci.\u003c/p\u003e\u003cp\u003eTambién tenemos previsto evaluar distintos modelos para sostener el Programa de Campeon(a|e)s mediante la realización de estudios de mercado y la divulgación entre las partes interesadas durante 2025. A esto le seguirá un programa piloto para recabar opiniones y perfeccionar el modelo según sea necesario.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003ePrestá atención a la convocatoria abierta del Programa de Campeon(a|e)s de rOpenSci y el anuncio de los Proyectos de Localización en 2025.\u003c/strong\u003e\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eDirección General de Investigación e Innovación (Comisión Europea). Políticas de acceso abierto en América Latina, el Caribe y la Unión Europea. Avances hacia un diálogo político. 2023.\u003ca href=\"https://op.europa.eu/publication-detail/-/publication/8a4852c6-bca3-11ed-8912-01aa75ed71a1\"\u003ehttps://op.europa.eu/publication-detail/-/publication/8a4852c6-bca3-11ed-8912-01aa75ed71a1\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eTatsuya Amano, Valeria Ramírez-Castañeda, Violeta Berdejo-Espinola, Israel Borokini, Shawan Chowdhury, Marina Golivets, Juan David González-Trujillo, Flavia Montaño-Centellas, Kumar Paudel, Rachel Louise White, Diogo Veríssimo. 2023. Los múltiples costes de ser un hablante no nativo de inglés en la ciencia. PLOS Biology 21(7): e3002184.\u003ca href=\"https://doi.org/10.1371/journal.pbio.3002184\"\u003ehttps://doi.org/10.1371/journal.pbio.3002184\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2024/10/10/czi-america-latina-grant/","date_published":"2024-10-10T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/227bx-41s88","title":"Recursos para utilizar R con lectores de pantalla","language":"es","authors":[{"name":"Liz Hare","url":"https://ropensci.org/es/author/liz-hare/","avatar":"https://ropensci.org/img/team/liz-hare.jpg","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor"]}],"tags":["notas técnicas","lectores de pantalla","campeones","comunidad","accesibilidad"],"content_html":"\u003cp\u003eR es un lenguaje y un entorno para la computación estadística.Existen varias herramientas y enfoques para interactuar con R, pero no todos son accesibles con lectores de pantalla.Esta guía proporciona una visión general de las herramientas y técnicas disponibles para las personas que usan lectores de pantalla en diferentes sistemas operativos, con consejos prácticos y recursos para ayudarles a navegar por el entorno R.Puede que esta guía no esté completa, pero espero que sirva como un valioso punto de partida. Agradecemos las sugerencias de otras personas para mejorarla aún más.\u003c/p\u003e\u003ch2 id=\"por-dónde-empezar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-d%c3%b3nde-empezar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por dónde empezar?\u003c/h2\u003e\u003cp\u003eEl conjunto de herramientas y recursos de esta sección es válido para todos los sistemas operativos.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://www.r-project.org\"\u003eEl proyecto R para el cálculo estadístico\u003c/a\u003e es el sitio donde puedes descargar R para Windows, Linux y Mac.\u003c/p\u003e\u003cp\u003eAl instalar R, se dispone de funciones estadísticas básicas.A esta instalación la llamamos \u0026ldquo;R base\u0026rdquo;.Se añaden funcionalidades a R base escribiendo paquetes en el lenguaje R.El Dr. Jonathan Godfrey ha escrito un paquete llamado BrailleR que produce resultados estadísticos en formato de texto o Braille que son más accesibles que las funciones de R base.\u003ca href=\"https://r-resources.massey.ac.nz/BrailleR/\"\u003eEl sitio web del Dr. Godfrey\u003c/a\u003e contiene información sobre este paquete, así como consejos generales sobre el uso de R como una persona usuaria de Braille o de lector de pantalla.\u003c/p\u003e\u003cp\u003eEl sitio \u003ca href=\"https://www.nfbnet.org/mailman/listinfo/blindrug_nfbnet.org\"\u003ePersonas ciegas usuarias de R\u003c/a\u003e es otro lugar al que puedes acudir para obtener respuestas sobre el uso de R.\u003c/p\u003e\u003ch2 id=\"cómo-interactúas-con-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-interact%c3%baas-con-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo interactúas con R?\u003c/h2\u003e\u003cp\u003eLas posibilidades incluyen:\u003c/p\u003e\u003cul\u003e\u003cli\u003eEjecutar R en el \u003ca href=\"https://es.wikipedia.org/wiki/Emulador_de_terminal\"\u003esímbolo del sistema en una terminal\u003c/a\u003e. Esto tiene la gran desventaja de no guardar los comandos que usaste y la salida que generaron.\u003c/li\u003e\u003cli\u003eUsar un editor de texto para escribir scripts (grupos de comandos R) y enviarlos en la \u003ca href=\"https://es.wikipedia.org/wiki/Interfaz_de_l%C3%ADnea_de_comandos\"\u003elínea de comandos\u003c/a\u003e. Este solía ser el enfoque preferido para muchas personas ciegas, pero es menos conveniente que la herramienta interactiva.\u003c/li\u003e\u003cli\u003eUtilizar la GUI (interfaz gráfica de usuario) de R. Esto puede ser accesible en Windows, pero es inaccesible en Mac.\u003c/li\u003e\u003cli\u003eUtilizar un entorno de desarrollo integrado (IDE) accesible para escribir, editar, enviar y reutilizar código R (véase la siguiente sección).\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"ides-y-sistemas-operativos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ides-y-sistemas-operativos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eIDEs y sistemas operativos\u003c/h3\u003e\u003cp\u003eUna IDE es un software que ayuda a los programadores a desarrollar software de forma eficiente proporcionando un conjunto de herramientas en el mismo entorno. Existen varios IDE en el mercado.Los IDE tienen varias ventajas sobre el trabajo en el símbolo del sistema o en la GUI de R:\u003c/p\u003e\u003cul\u003e\u003cli\u003eComandos especializados para ejecutar el código y revisar los resultados.\u003c/li\u003e\u003cli\u003eAyuda con la edición haciendo cosas como notificar al usuario de paréntesis mal cerrados.\u003c/li\u003e\u003cli\u003eCambiar fácilmente entre la edición de código y la lectura de la salida.\u003c/li\u003e\u003cli\u003eFacilidad para guardar el trabajo y reutilizarlo más tarde.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEl popular IDE RStudio no es accesible para usuarios de lectores de pantalla en ninguna plataforma.Es muy importante que los docentes entiendan que sus estudiantes ciegos no tendrán acceso a este entorno y, por tanto, no utilizarán sus botones o accesos directos. Lo mismo se aplica a quienes escriben documentación.\u003c/p\u003e\u003ch4 id=\"windows\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#windows\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eWindows\u003c/h4\u003e\u003cp\u003eMuchos usuarios ciegos de R utilizan el \u003ca href=\"https://code.visualstudio.com\"\u003eVisual Studio Code (VS Code)\u003c/a\u003e IDE con lectores de pantalla.El sitio \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=REditorSupport.r\"\u003eExtensión R para código VS\u003c/a\u003eproporciona funciones adicionales para que trabajar en R resulte más cómodo.\u003c/p\u003e\u003cp\u003eUna segunda opción para trabajar con R en Windows es instalar \u003ca href=\"https://learn.microsoft.com/en-us/windows/wsl/about\"\u003eWindows Subsystem for Linux\u003c/a\u003e(WSL).Con WSL, puede ejecutar un entorno de línea de comandos de Linux en Windows.Puedes acceder a la Terminal utilizando los lectores de pantalla NVDA o JAWS.Se podría acceder a una sesión de R en el terminal, o se podría leer la entrada y la salida en el editor de texto de su elección desde el sistema operativo Windows o Linux.Esta sería una gran opción para las personas que son usuarios experimentados de NVDA o JAWS que quieren aprender sobre R y Linux.\u003c/p\u003e\u003ch4 id=\"mac-y-linux\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mac-y-linux\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMac y Linux\u003c/h4\u003e\u003cp\u003eEl software que se enumera a continuación trabaja conjuntamente para proporcionar un entorno de trabajo con R:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href=\"https://www.gnu.org/software/emacs/\"\u003eEmacs\u003c/a\u003e es un IDE potente y personalizable quevpuede utilizarse con R, aunque al principio hay que aprender muchos comandos.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://github.com/tvraman/emacspeak\"\u003eEmacspeak\u003c/a\u003e es un lector de pantalla diseñado específicamente para su uso en un terminal Linux (o Mac) con Emacs.Funciona mucho mejor que VoiceOver, el lector de pantalla nativo de Apple, en el terminal.Emacspeak es potente, pero también implica aprender muchos comandos de teclado.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://ess.r-project.org\"\u003eEstadísticas de Emacs Speaks (ESS)\u003c/a\u003e es un paquete que puede añadir a Emacs y que le permitirá editar y enviar código y ver su resultado en otra ventana de texto.Personaliza el entorno emacs para R.\u003c/li\u003e\u003cli\u003eOtro paquete emacs útil es \u003ca href=\"https://polymode.github.io\"\u003ePolymode\u003c/a\u003e que facilita el uso de R Markdown para producir documentos como informes y diapositivas que son muy accesibles si se usan en formato HTML.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLa última vez que probé VScode en un Mac, no era totalmente accesible con VoiceOver.\u003c/p\u003e\u003ch2 id=\"funciones-útiles-de-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#funciones-%c3%batiles-de-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFunciones útiles de R\u003c/h2\u003e\u003cp\u003eR Markdown y \u003ccode\u003equarto\u003c/code\u003e son herramientas útiles de R.Permiten crear un único archivo que contiene texto y código R.El documento resultante puede mostrar tanto la explicación de texto de tu trabajo como la salida del codigo de R.Estas herramientas producen varios tipos de archivos como salida.La salida HTML es fácil de navegar de forma similar a la de los colegas videntes.Esta accesibilidad hace que estas herramientas sean ideales para informes, tareas, sitios web y presentaciones de diapositivas.\u003c/p\u003e\u003cp\u003eNo he incluido documentación aquí porque es difícil encontrar documentación que no asuma el uso de RStudio.\u003c/p\u003e\u003ch2 id=\"aprender-a-usar-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#aprender-a-usar-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAprender a usar R\u003c/h2\u003e\u003cp\u003eEs importante practicar leyendo y aprendiendo de la documentación de R, pero lleva tiempo aprender a entenderla. Hay un montón de recursos útiles disponibles, incluyendo:\u003c/p\u003e\u003cul\u003e\u003cli\u003eUCLA tiene muy buenos \u003ca href=\"https://stats.oarc.ucla.edu/r/\"\u003emódulos de aprendizaje y preguntas frecuentes\u003c/a\u003e sobre R en formato de texto sencillo.\u003c/li\u003e\u003cli\u003eBuscar en la Web ejemplos y tutoriales (siempre que no sean vídeos) para el tipo de análisis que quieres hacer puede ayudar mucho. Evita los sitios comerciales con muchos anuncios que interfieren con la navegación del lector de pantalla. Yo prefiero los alojados en sitios personales o académicos.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://www.bigbookofr.com\"\u003eSitio web de Oscar Baruffa\u003c/a\u003e enumera libros gratuitos en línea sobre R. Muchos de ellos son bastante accesibles, salvo en lo que respecta a las visualizaciones de datos. Además, muchos de ellos asumen que estás usando RStudio, por lo que tendrás que adaptar el trabajo a tu propio entorno.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://bookshare.org\"\u003eBookshare\u003c/a\u003e es un repositorio de libros electrónicos para personas con dificultades para leer libros impresos en algunos paises. Tienen muchos libros sobre R, pero la accesibilidad puede variar, por ejemplo, a veces faltan fragmentos de código. Sin embargo, estos libros pueden ser bastante útiles.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"resumen\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#resumen\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eResumen\u003c/h2\u003e\u003cp\u003eEn esta guía se han descrito varias formas de que las personas que usan lectores de pantalla trabajen con R en distintos sistemas operativos, destacando herramientas accesibles como BrailleR, VS Code y Emacs. Al explorar estas opciones, los usuarios pueden elegir las herramientas que mejor se adapten a sus necesidades y preferencias.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/09/05/recursos_para_utilizar_r_con_lectores_de_pantalla/","date_published":"2024-09-05T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/6z31j-xb804","title":"Trucos de Git para trabajar con repositorios grandes","language":"es","authors":[{"name":"Mauro Lepore","url":"https://orcid.org/0000-0002-1986-7988","avatar":"https://ropensci.org/img/team/mauro-lepore.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]}],"tags":["notas-tecnicas","git","github","cómo-hacer"],"content_html":"\u003cp\u003eHace poco \u003ca href=\"/author/yanina-bellini-saibene/\"\u003eYanina Bellini Saibene\u003c/a\u003e nos recordó actualizar el perfil de Slack:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eRecordatorio amigable: Aumentemos el valor de nuestra comunidad de Slack de rOpenSci. Por favor, agreguen detalles a su perfil, como su foto, su red social favorita, lo que hacen, sus pronombres y cómo se pronuncia su nombre.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eDespués de hacer eso, decidí actualizar mis fotos de perfil en el sitio web de rOpenSci, y termine aprendiendo algunos trucos de git que voy a compartir acá. Gracias a \u003ca href=\"/author/ma%C3%ABlle-salmon/\"\u003eMaëlle Salmon\u003c/a\u003e por motivarme a escribir este artículo y a \u003ca href=\"/author/steffi-lazerte/\"\u003eSteffi LaZerte\u003c/a\u003e por revisarlo.\u003c/p\u003e\u003ch2 id=\"clonando-como-siempre\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#clonando-como-siempre\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eClonando como siempre\u003c/h2\u003e\u003cp\u003eCuando quise clonar el repositorio del sitio web de rOpenSci, me di cuenta de que era grande y que me llevaría varios minutos.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit clone https://github.com/ropensci/roweb3.git\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eDecidí detener el proceso e investigar cómo clonar solo la última versión de los archivos específicos que necesitaba.\u003c/p\u003e\u003ch2 id=\"clonando-la-última-versión-de-archivos-específicos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#clonando-la-%c3%baltima-versi%c3%b3n-de-archivos-espec%c3%adficos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eClonando la última versión de archivos específicos\u003c/h2\u003e\u003cp\u003ePrimero hice un \u003cem\u003efork\u003c/em\u003e (bifurcación) del repositorio (\u003ccode\u003eroweb3\u003c/code\u003e). Usé \u003ca href=\"https://cli.github.com/\"\u003e\u003ccode\u003egh\u003c/code\u003e\u003c/a\u003e desde la terminal, pero también podría haberlo hecho manualmente desde GitHub.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Si no usas `gh`, hace un \u0026#34;fork\u0026#34; de ropensci/roweb3 desde GitHub\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egh repo fork ropensci/roweb3\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eLuego creé un directorio local vacío \u003ccode\u003eroweb3\u003c/code\u003e y lo enlacé al \u003cem\u003efork\u003c/em\u003e.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit init roweb3\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003ecd\u003c/span\u003e roweb3\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit remote add origin git@github.com:maurolepore/roweb3.git\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e¡Ahora los trucos! Para evitar descargar todo el repositorio primero encontre los archivos específicos que necesitaba en el buscador de GitHub (\u003cem\u003eGo to file\u003c/em\u003e), luego:\u003c/p\u003e\u003cul\u003e\u003cli\u003eTruco 1: Configuré un \u003ca href=\"https://git-scm.com/docs/git-sparse-checkout\"\u003e\u003cem\u003esparse checkout\u003c/em\u003e\u003c/a\u003e para clonar solo esos archivos.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit config core.sparseCheckout \u003cspan class=\"nb\"\u003etrue\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nb\"\u003eecho\u003c/span\u003e \u003cspan class=\"s2\"\u003e\u0026#34;themes/ropensci/static/img/team/mauro*\u0026#34;\u003c/span\u003e \u0026gt;\u0026gt; .git/info/sparse-checkout\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003eTruco 2: Usé \u003ccode\u003egit pull\u003c/code\u003e con \u003ca href=\"https://git-scm.com/docs/git-pull#Documentation/git-pull.txt---depthltdepthgt\"\u003e\u003ccode\u003e--depth 1\u003c/code\u003e\u003c/a\u003e para obtener solo la última versión de esos archivos.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003egit pull --depth\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e origin main\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eExploré el resultado con \u003ca href=\"https://manpages.ubuntu.com/manpages/bionic/man1/tree.1.html\"\u003e\u003ccode\u003etree\u003c/code\u003e\u003c/a\u003e y vi que era justo lo que necesitaba modificar:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003etree\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e└── themes\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    └── ropensci\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e        └── static\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e            └── img\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                └── team\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                    ├── mauro-lepore.jpg\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                    └── mauro-lepore-mentor.jpg\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"pero-qué-tan-grande-es\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pero-qu%c3%a9-tan-grande-es\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Pero qué tan grande es?\u003c/h2\u003e\u003cp\u003eAunque esos trucos fueron útiles, aún quería saber cuán grande era el repositorio, así que lo cloné entero como de costumbre y lo exploré con \u003ca href=\"https://manpages.ubuntu.com/manpages/bionic/man1/du.1.html\"\u003e\u003ccode\u003edu\u003c/code\u003e\u003c/a\u003e:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003edu --human-readable --max-depth\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e .\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e219M    ./themes\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e164K    ./.Rproj.user\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e56K     ./archetypes\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e628K    ./resources\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e168K    ./data\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e376M    ./.git\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e20K     ./static\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e12K     ./.github\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e40K     ./scripts\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e161M    ./content\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e24K     ./layouts\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e475M    ./public\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e1.3G    .\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEsto confirmó que el repositorio es mucho más grande que los que manejo normalmente. Pero ahora sé algunos trucos más de Git (¡y aún más sobre cómo bloguear en rOpenSci :-)).\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cblockquote\u003e\u003cp\u003eSi todo lo que tienes es un martillo, todo te parecerá un clavo. — Abraham Maslow\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eA veces, \u003ccode\u003egit clone\u003c/code\u003e no es la herramienta adecuada para el trabajo que querés hacer. Un \u003cem\u003esparse checkout\u003c/em\u003e y un \u003cem\u003epull\u003c/em\u003e superficial pueden ayudarte a obtener específicamente lo que necesitas.\u003c/p\u003e\u003cp\u003eSi te gusta aprender de videos, podés \u003ca href=\"https://www.youtube.com/leporemauro/search?query=git\"\u003ebuscar \u0026ldquo;git\u0026rdquo; en mi canal de YouTube\u003c/a\u003e o explorar las listas de reproducción \u003ca href=\"https://www.youtube.com/playlist?list=PLvgdJdJDL-AOHkwiaMvYhPKVjiD9vzZIo\"\u003egit\u003c/a\u003e, \u003ca href=\"https://www.youtube.com/playlist?list=PLvgdJdJDL-AMyv06bsXoXkGmxmaV9U6Ts\"\u003egit-from-the-terminal\u003c/a\u003e, y \u003ca href=\"https://www.youtube.com/playlist?list=PLvgdJdJDL-APwLSt89PJgI72UGVNUjOKl\"\u003egit-con-la-terminal\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e¿Cuáles son tus trucos favoritos de Git? ¿Qué tal si blogueas sobre eso?\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/08/06/git-tricks/","date_published":"2024-08-06T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/7zb0p-ae254","title":"Documentación multilingüe en paquetes de R","language":"es","authors":[{"name":"Elio Campitelli","url":"https://ropensci.org/es/author/elio-campitelli/","avatar":"https://ropensci.org/img/team/elio-campitelli.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor"]}],"tags":["R","paquetes","multilingüe","documentación","comunidad"],"content_html":"\u003cp\u003eNos complace anunciar el nuevo \u003ca href=\"https://github.com/RConsortium/multilingual-documentation-wg\"\u003eGrupo de Trabajo de Documentación Multilingüe del R Consortium\u003c/a\u003e.Este Grupo de Trabajo surgió luego de varias conversaciones durante el \u003ca href=\"https://contributor.r-project.org/r-project-sprint-2023/\"\u003eR Project Sprint 2023\u003c/a\u003e y supervisará la implementación del soporte de documentación multilingüe en R y organizará los esfuerzos de traducción de la comunidad.Nuestro primer proyecto es el paquete (experimental) \u003ca href=\"https://github.com/eliocamp/rhelpi18n\"\u003e\u003cstrong\u003erhelpi18n\u003c/strong\u003e\u003c/a\u003e que añade soporte en R para el uso de documentación multilingüe.\u003c/p\u003e\u003cp\u003e¿Quieres leer la documentación de \u003ccode\u003ebase::mean()\u003c/code\u003e (parcialmente) en español?Instala \u003ca href=\"https://github.com/eliocamp/rhelpi18n\"\u003erhelpi18n\u003c/a\u003e y el módulo de traducción de ejemplo base.es:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# install.packages(\u0026#34;pak\u0026#34;)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epak\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003epak\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;eliocamp/rhelpi18n\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;eliocamp/base.es\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eY luego ejecuta este código:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003erhelpi18n\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eSys.setenv\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eLANGUAGE\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;es\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003ehelp\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eMedia AritméticaDescription:     Función genérica para la media aritmética (recortada)Usage:     mean(x, ...)          ## Default S3 method:     mean(x, trim = 0, na.rm = FALSE, ...)     Arguments:       x: an R object.  Currently there are methods for numeric/logical          vectors and date, date-time and time interval objects.          Complex vectors are allowed for \u0026#39;trim = 0\u0026#39;, only.    trim: la fracción (0 a 0.5) de observaciones para ser recordatas          del final de \\codex antes de computar la media. Valores de          trim pro fuera de ese rango se consideran al punto más          cercano.   na.rm: un valor lógico que evalua a \u0026#39;TRUE\u0026#39; o \u0026#39;FALSE\u0026#39; indicando si          valores \u0026#39;NA\u0026#39; deben ser removidos antes de realizar el          cómputo.     ...: further arguments passed to or from other methods.... (27 more lines)\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e¡Hermoso!Esto debería funcionar en cualquier consola R o IDE.\u003c/p\u003e\u003ch2 id=\"por-qué-harías-esto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-qu%c3%a9-har%c3%adas-esto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por qué harías esto?\u003c/h2\u003e\u003cp\u003eAunque el inglés es la lengua internacional de facto, existen \u003ca href=\"https://ropensci.org/multilingual-publishing/\"\u003eventajas\u003c/a\u003e de incluir recursos en diferentes idiomas.Al reducir las barreras lingüísticas, acabamos teniendo una comunidad más grande, fuerte y creativa, con más ideas y recursos.Esta hegemonía del inglés se refleja en R por el uso del inglés en su documentación, como las páginas de ayuda, los nombres de las funciones y los nombres de los argumentos (¿por qué usar \u003ccode\u003emean()\u003c/code\u003e en lugar de \u003ccode\u003eMittelwert()\u003c/code\u003e?).\u003c/p\u003e\u003cp\u003eLa documentación de los paquetes \u003cem\u003epuede\u003c/em\u003e escribirse en cualquier idioma, y CRAN admite documentación en otros idiomas utilizando el campo \u0026ldquo;Language\u0026rdquo; (Idioma) \u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e .Pero aún así, la gran mayoría de los paquetes están documentados en inglés y hay \u003ca href=\"https://cderv.rbind.io/2018/03/11/non-english-pkg-in-cran/\"\u003eun pequeño número de paquetes documentados en otros idimas\u003c/a\u003e aparentemente para llegar más fácilmente a su público objetivo.Por ejemplo, el paquete \u003ca href=\"https://cran.r-project.org/web/packages/labstatR/index.html\"\u003elabstatR\u003c/a\u003e sirve de complemento al libro italiano \u0026ldquo;Laboratorio Di Statistica Con R\u0026rdquo; y está parcialmente documentado en italiano (utiliza nombres de funciones y argumentos en inglés).Del mismo modo, \u003ca href=\"https://cran.r-project.org/web/packages/chilemapas/chilemapas.pdf\"\u003echilemapas\u003c/a\u003e proporciona mapas simplificados para Chile, con documentación completa en español, incluidos los nombres de las funciones.rOpenSci \u003ca href=\"https://docs.ropensci.org/censo2017/\"\u003ecenso2017\u003c/a\u003e por \u003ca href=\"/author/pach%C3%A1-aka-mauricio-vargas-sep%C3%BAlveda/\"\u003eMauricio Vargas\u003c/a\u003e también está totalmente documentado en español.\u003c/p\u003e\u003cp\u003eAunque estos paquetes son más accesibles para su público principal, son mucho menos accesibles para la comunidad en general.Quienes que no dominan el idioma pueden tener dificultades para descubrir y utilizar las funciones que ofrecen estos paquetes.Quienes desarrollan esto paquetes se enfrentan al dilema de hacer que su paquete sea inaccesible para su público objetivo o aislarlo del resto del ecosistema de R.\u003c/p\u003e\u003cp\u003eSe trata de un problema difícil que no tiene solución fácil.Surge periódicamente en el Slack de rOpenSci, así como en otros espacios de R, como Stack Overflow.El desarrollador del paquete \u003ca href=\"https://cran.r-project.org/web/packages/utilsIPEA/index.html\"\u003eutilsIPEA\u003c/a\u003e expresó \u003ca href=\"https://stackoverflow.com/questions/37288823/bilingual-english-and-portuguese-documentation-in-an-r-package\"\u003ela necesidad de documentación bilingüe\u003c/a\u003e reconociendo que su paquete sería utilizado tanto por personas de Brasil, que podrían preferir la documentación en portugués, como por la comunidad internacional en general.Al menos equipos de desarrollo de paquetes han intentado resolver este dilema documentando su paquete en inglés y publicando una segunda versión documentada en otro idioma: \u003ca href=\"https://cran.r-project.org/web/packages/ExpDes/index.html\"\u003eExpDes\u003c/a\u003e y \u003ca href=\"https://cran.r-project.org/web/packages/ExpDes.pt/index.html\"\u003eExpDes.pt\u003c/a\u003e así como \u003ca href=\"https://cran.r-project.org/web/packages/orloca/index.html\"\u003eorloca\u003c/a\u003e y \u003ca href=\"https://cran.r-project.org/web/packages/orloca.es/index.html\"\u003eorloca.es\u003c/a\u003e.El paquete \u003ca href=\"https://cloud.r-project.org/web/packages/karel/index.html\"\u003ekarel\u003c/a\u003e tiene dos conjuntos de funciones, uno con nombres y documentación en inglés y otro en español.\u003c/p\u003e\u003cp\u003eAmbas son medidas paliativas que llevan al límite lo que se puede hacer con R en términos de funcionalidad multilingüe.Además, como estas soluciones no son nativas, pueden resultar difíciles de mantener y no son escalables.\u003c/p\u003e\u003cp\u003ePor eso presentamos el paquete experimental \u003cstrong\u003erhelpi18n\u003c/strong\u003e \u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e.Este paquete es un banco de pruebas para implementar un soporte robusto para la documentación multilingüe con el objetivo de integrarlo en R una vez que madure.Para leer la documentación traducida, hay que cargar rhelpi18n e instalar módulos de traducción creados por la comunidad.\u003c/p\u003e\u003ch2 id=\"bueno-pero-cómo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#bueno-pero-c%c3%b3mo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eBueno, pero ¿cómo?\u003c/h2\u003e\u003cp\u003eEn nuestro ejemplo anterior, los textos traducidos se alojan en base.es, un módulo de traducción.Se trata de un paquete normal con campos especiales en la DESCRIPTION que especifican qué paquete y versión se está traduciendo y a qué idioma.Actualmente, las cadenas traducidas se implementan como una lista con la cadena original y la traducción de cada sección de la documentación, pero también estamos estudiando implementarlo con archivos .po tradicionales, que es el mecanismo utilizado por R para traducir mensajes y errores.\u003c/p\u003e\u003cp\u003eEl paquete rhelpi18n modifica \u003ccode\u003eutils:::.getHelpFile()\u003c/code\u003e que utilizan todas las funciones de ayuda para obtener el texto de la documentación.Añade unas pocas líneas de código que buscan si existen módulos de traducción relevantes (como base.es) y sustituyen el texto original por su traducción.\u003c/p\u003e\u003cp\u003eAdemás de presentar la documentación traducida, rhelpi18n proporciona herramientas para que las personas que desarrollan creen nuevos módulos de traducción.\u003c/p\u003e\u003cp\u003ePor ejemplo, el siguiente código crea un módulo de traducción básico para el paquete glue, incluyendo todas las funcionalidades y texto que necesita traducción.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003edir\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003efile.path\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003etempdir\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;glue.es\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003erhelpi18n\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003ei18n_module_create\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003emodule_name\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;glue.es\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                              \u003cspan class=\"n\"\u003epackage_path\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eglue_dir\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e  \u003cspan class=\"c1\"\u003e# Carpeta con la copia local del código fuente de glue\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                              \u003cspan class=\"n\"\u003elanguage\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;es\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                              \u003cspan class=\"n\"\u003emodule_path\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003edir\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAhora el trabajo pesado es ir al subdirectorio \u0026ldquo;translations\u0026rdquo; y traducir el texto guardado (por ahora) como archivos YAML.Por ejemplo, el archivo de traducción para \u003ccode\u003eglue::as_glue()\u003c/code\u003e es:\u003c/p\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003etitle:  original: Coerce object to glue  translation: ~arguments:  x:    original: object to be coerced.    translation: ~  \u0026#39;...\u0026#39;:    original: further arguments passed to methods.    translation: ~value:  original: |    A character vector with S3 class \\code{\u0026#34;glue\u0026#34;}.  translation: ~description:  original: |    A glue object is a character vector with S3 class \\code{\u0026#34;glue\u0026#34;}. The \\code{\u0026#34;glue\u0026#34;}    class implements a print method that shows the literal contents (rather than    the string implementation) and a \\code{+} method, so that you can concatenate with    the addition operator.... (16 more lines)\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eUna posible (y superficial) traducción sería\u003c/p\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003etitle:  original: Coerce object to glue  translation: Convertir un objeto a gluearguments:  x:    original: object to be coerced.    translation: objeto a convertir.  \u0026#39;...\u0026#39;:    original: further arguments passed to methods.    translation: otros argumentos que se pasan a los métodos.value:  original: |    A character vector with S3 class \\code{\u0026#34;glue\u0026#34;}.  translation: |    Vector de caracter con la clase S3 \\code{\u0026#34;glue\u0026#34;}.description:  original: |    A glue object is a character vector with S3 class \\code{\u0026#34;glue\u0026#34;}. The \\code{\u0026#34;glue\u0026#34;}    class implements a print method that shows the literal contents (rather than    the string implementation) and a \\code{+} method, so that you can concatenate with    the addition operator.  translation: |    Un objeto glue es un vector de caracteres con la clase S3 \\code{\u0026#34;glue\u0026#34;}.     La clase \\code{\u0026#34;glue\u0026#34;} implementa un método de impresión que muestra los contenidos    literales (en vez de la implementación como cadena de caracteres) y un método \\code{+}     para que puedas concatenar usando el operador de sumatoria.examples:  original: |    x \u0026lt;- as_glue(c(\u0026#34;abc\u0026#34;, \u0026#34;\\\u0026#34;\\\\\\\\\u0026#34;, \u0026#34;\\n\u0026#34;))    x... (11 more lines)\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eTras modificar \u0026ldquo;as_glue.yaml\u0026rdquo; e instalar el paquete, ahora la documentación está en español .\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eglue\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003ehelp\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eas_glue\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eConvertir un objeto a glueDescription:     Un objeto glue es un vector de caracteres con la clase S3     \u0026#39;\u0026#34;glue\u0026#34;\u0026#39;.  La clase \u0026#39;\u0026#34;glue\u0026#34;\u0026#39; implementa un método de impresión que     muestra los contenidos literales (en vez de la implementación como     cadena de caracteres) y un método \u0026#39;+\u0026#39; para que puedas concatenar     usando el operador de sumatoria.Usage:     as_glue(x, ...)     Arguments:       x: objeto a convertir.     ...: otros argumentos que se pasan a los métodos.... (13 more lines)\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e¡Increíble!\u003c/p\u003e\u003ch2 id=\"próximos-pasos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#pr%c3%b3ximos-pasos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePróximos pasos\u003c/h2\u003e\u003cp\u003eEl proyecto está en sus primeras fases por lo que las cosas cambian rápido.Aún estamos experimentando con distintas formas de almacenar las traducciones y de aplicar sustituciones de texto.También tiene varias limitaciones, como que aún no traduce los encabezados de sección.También queremos añadir una indicación clara de que el texto es una traducción y una forma conveniente de acceder rápidamente a la versión original.Parte del flujo de trabajo de las traducciones suele consistir en traducciones automáticas que posteriormente revisa una persona.Por ello, estamos considerando la posibilidad de añadir metadatos a las cadenas para señalar los casos de traducciones automáticas que no han sido revisadas por una persona o las traducciones que podrían estar ligeramente desactualizadas (¡sería una pena no mostrar una traducción porque alguien arregló un pequeño error de tipeo en el texto original y aún no había sido revisada!)\u003c/p\u003e\u003cp\u003eSi deseas probar el paquete e informar de cualquier problema, o si tienes ideas sobre cómo mejorarlo, puedes participar en el debate en los\u003ca href=\"https://github.com/eliocamp/rhelpi18n/issues\"\u003e\u003cem\u003eissues\u003c/em\u003e abiertos\u003c/a\u003e del paquete y uniéndote al \u003ca href=\"https://github.com/RConsortium/multilingual-documentation-wg\"\u003eGrupo de trabajo de documentación multilingüe\u003c/a\u003e.¡Ayúdanos!\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eLa cita real es \u0026ldquo;Se puede utilizar el campo \u0026lsquo;Language\u0026rsquo; para indicar si la documentación del paquete no está en inglés\u0026rdquo;, lo que indica que el inglés sigue siendo el supuesto por defecto.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eEl nombre proviene del \u003ca href=\"https://es.wikipedia.org/wiki/Numer%C3%B3nimo\"\u003eNumerónimo\u003c/a\u003e de \u0026ldquo;internacionalización\u0026rdquo;.\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2024/07/09/multilingual-documentation-wg/","date_published":"2024-07-09T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/vm4tg-kwr90","title":"Consejos de comunicación para tu proyecto de código abierto","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Mark Padgham","url":"https://orcid.org/0000-0003-2172-5265","avatar":"https://ropensci.org/img/team/mark-padgham.jpg","_role":["editor"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]}],"tags":["comunidad"],"content_html":"\u003cp\u003e¿Mantienes un proyecto de código abierto, como un paquete R o una colección de ellos, te preguntas cómo utilizar mejor los distintos canales de comunicación para informar a tu comunidad de usuarios y comprometerte con ella?Pues hemos hecho una lista con consejos.Algunos de ellos son obligatorios en nuestra opinión, otros son simplemente agradables de tener.\u003c/p\u003e\u003ch2 id=\"obligatorios-tener-buenas-notas-de-publicación\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#obligatorios-tener-buenas-notas-de-publicaci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eObligatorios: Tener buenas notas de publicación\u003c/h2\u003e\u003cp\u003ePuesto que estás desarrollando un producto, el primer acto de comunicación es escribir notas de publicación informativas.Las notas de publicación suelen describir actualizaciones y cambios, normalmente en un archivo llamado \u003ccode\u003eNEWS.md\u003c/code\u003e. Estos archivos suelen tener una cabecera por versión, con subcabeceras utilizadas para agrupar los cambios en categorías significativas.\u003c/p\u003e\u003cp\u003eEntre los recursos para empezar con las notas de publicación se incluyen:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href=\"https://usethis.r-lib.org/reference/use_news_md.html\"\u003e\u003ccode\u003eusethis::use_news_md()\u003c/code\u003e\u003c/a\u003e crear el \u003ccode\u003eNEWS.md\u003c/code\u003e archivo.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://style.tidyverse.org/news.html\"\u003eel capítulo sobre archivos NEWS de la guía de estilo tidyverse\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ePuedes automatizar parcialmente las notas de publicación a partir de los mensajes de confirmación utilizando, por ejemplo, la función \u003ca href=\"https://fledge.cynkra.com/dev/\"\u003epaquete fledge\u003c/a\u003e (bastante potente si se combina con el paquete \u003ca href=\"https://www.conventionalcommits.org/en/v1.0.0/\"\u003eConvención de commits convencionales\u003c/a\u003e).\u003c/p\u003e\u003cp\u003eLas notas de publicación pueden informar directamente a los usuarios, que pueden leerlas\u003c/p\u003e\u003cul\u003e\u003cli\u003edesde GitHub viendo \u003ca href=\"https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository\"\u003eLos eventos de publicación\u003c/a\u003e del repositorio;\u003c/li\u003e\u003cli\u003edel sitio web de documentación, en el que se transforma pkgdown \u003ccode\u003eNEWS.md\u003c/code\u003e los archivos en una página llamada Changelog.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTambién serán útiles como materia prima para otras notas de publicación, como entradas de blog sobre las versiones.\u003c/p\u003e\u003ch2 id=\"son-necesarios-gestores-de-incidencias\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#son-necesarios-gestores-de-incidencias\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSon necesarios: Gestores de incidencias\u003c/h2\u003e\u003cp\u003eNo sólo tus repositorios deben tener rastreadores de incidencias/tickets, sino que también debes asegurarte de que suficientes miembros del equipo los vigilan o revisan los nuevos tickets o comentarios al menos de vez en cuando.Mantener y responder a las incidencias es una parte importante del mantenimiento de una comunidad de usuarios.\u003c/p\u003e\u003cp\u003eEl uso de incidencias en tu proyecto puede anunciarse a través de una incidencia anclada; incluso podrías \u003ca href=\"https://docs.github.com/en/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository\"\u003elimitar temporalmente las interacciones\u003c/a\u003e.Estas condiciones y enlaces son para GitHub, pero existen ideas y características similares para otras plataformas de código.\u003c/p\u003e\u003ch2 id=\"necesario-perfiles-de-proyecto-pulidos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#necesario-perfiles-de-proyecto-pulidos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNecesario: Perfiles de proyecto pulidos\u003c/h2\u003e\u003cp\u003eTodo software de código abierto tiene un perfil, potencialmente repartido por muchos lugares, como organizaciones de GitHub o cuentas de Mastodon. Un logotipo puede ser un identificador clave de tu perfil, y debe aparecer de forma coherente en todos tus perfiles. También es importante incluir descripciones informativas, y verificar todas las URL (\u003ca href=\"https://docs.github.com/en/organizations/managing-organization-settings/verifying-or-approving-a-domain-for-your-organization\"\u003edocs para GitHub\u003c/a\u003e, \u003ca href=\"https://joinmastodon.org/verification\"\u003edocs para Mastodon\u003c/a\u003e).\u003c/p\u003e\u003cp\u003ePara una organización de GitHub, puedes preguntar a sus miembros si desean que su \u003ca href=\"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership\"\u003eorganización GitHub sea pública\u003c/a\u003e lo que podría dar una imagen más colaborativa incluso antes de que nadie se sumerja en la actividad de commit.\u003c/p\u003e\u003cp\u003ePulir el perfil no tiene por qué llevar mucho tiempo, y puede mejorar la imagen de tu proyecto.\u003c/p\u003e\u003ch2 id=\"es-necesario-asegúrate-de-gestionar-el-acceso-de-forma-inteligente\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#es-necesario-aseg%c3%barate-de-gestionar-el-acceso-de-forma-inteligente\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEs necesario: Asegúrate de gestionar el acceso de forma inteligente\u003c/h2\u003e\u003cp\u003ePara cualquier plataforma que requiera inicios de sesión o algún tipo de derechos de acceso, asegúrate de que todos los que necesiten acceso lo tengan, y de que se elimine el acceso a cualquiera que ya no lo necesite.\u003c/p\u003e\u003cp\u003eQuizá te convenga buscar sistemas de gestión de contraseñas como \u003ca href=\"https://1password.com/\"\u003e1Contraseña\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eComo la composición de un equipo de desarrollo cambia con el tiempo, puede ser conveniente revisar el acceso con regularidad, y hacer que esa revisión forme parte de algún tipo de lista de control de incorporación/desincorporación.\u003c/p\u003e\u003ch2 id=\"obligatorio-disponer-de-un-espacio-para-discusiones-privadas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#obligatorio-disponer-de-un-espacio-para-discusiones-privadas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eObligatorio: disponer de un espacio para discusiones privadas\u003c/h2\u003e\u003cp\u003eAunque el desarrollo de código abierto exige que ocurran muchas cosas \u003ca href=\"https://producingoss.com/en/producingoss.html#avoid-private-discussions\"\u003een abierto\u003c/a\u003e también es importante cultivar un espacio seguro donde los miembros del equipo puedan desahogarse, discutir asuntos delicados o compartir fotos de sus mascotas.Esto puede adoptar formas como un espacio de trabajo Slack, Discord, Matrix o un servidor Element, u opciones vanguardistas como \u003ca href=\"https://try.flat.app\"\u003eplano\u003c/a\u003e o \u003ca href=\"https://cq2.co/\"\u003eCQ2\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eLo ideal sería que el espacio te perteneciera, a menos que puedas confiar en un socio externo (¿un financiador? ¿una cohalición mayor de proyectos?) para que te lo siga proporcionando.\u003c/p\u003e\u003ch2 id=\"disponer-de-un-foro\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#disponer-de-un-foro\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDisponer de un foro\u003c/h2\u003e\u003cp\u003ePara un proyecto pequeño, los gestores de incidencias pueden ser todo lo que necesitas para gestionar los informes de errores, las peticiones de características y las preguntas y respuestas generales.Sin embargo, los proyectos más grandes podrían beneficiarse de la creación y gestión de un foro de debate dedicado.\u003c/p\u003e\u003cp\u003ePuedes utilizar un \u003ca href=\"https://www.discourse.org/\"\u003eDiscurso\u003c/a\u003e o \u003ca href=\"https://docs.github.com/fr/discussions\"\u003eDebates en GitHub\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"tener-un-blog-con-un-canal-rss\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#tener-un-blog-con-un-canal-rss\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTener un blog con un canal RSS\u003c/h2\u003e\u003cp\u003eEn comparación con las notas de la versión, las entradas del blog sobre las nuevas versiones ofrecen más narrativa, por lo que pueden ser más fáciles de leer.También pueden remitir a los usuarios a las notas de la versión para obtener más información.\u003c/p\u003e\u003cp\u003eEl blog de un proyecto de código abierto también puede contener otro tipo de publicaciones, como un análisis en profundidad de una función, el anuncio de financiación o la solicitud de contribuciones o ayudas económicas.\u003c/p\u003e\u003cp\u003eCuando elijas un creador de sitios web, intenta elegir uno que sea gratuito y que resulte familiar para el equipo de tu proyecto o lo suficientemente fácil para familiarizarse con él.Las entradas de blog basadas en Markdown son más fáciles de escribir a partir de notas de publicación.Asegúrate también de que publicar una nueva entrada de blog no sea un proceso complicado de 100 pasos, o nadie querrá escribir una.Puedes optar por utilizar \u003ca href=\"https://blogguide.ropensci.org/\"\u003eGitHub para un proceso de revisión y previsualización de las entradas del blog\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eSi creas un blog, asegúrate de crear también un canal RSS para él.En la mayoría de los generadores de sitios web estáticos, esto viene por defecto o está disponible activando una opción (\u003ca href=\"https://quarto.org/docs/websites/website-blog.html#rss-feed\"\u003edocumentación de Quarto\u003c/a\u003e).\u003c/p\u003e\u003cp\u003eUna vez que tu blog tenga un canal RSS, regístralo en ¿agregadores? relevantes como \u003ca href=\"https://github.com/rweekly/rweekly.org?tab=readme-ov-file#regular-r-posts-submit-your-rss-feed\"\u003eR Semanal\u003c/a\u003e en el mundo de R.\u003c/p\u003e\u003ch2 id=\"tener-comentarios-en-las-entradas-del-blog\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#tener-comentarios-en-las-entradas-del-blog\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTener comentarios en las entradas del blog\u003c/h2\u003e\u003cp\u003eSi decides abrir comentarios en las entradas de tu blog, asegúrate de integrar los comentarios en el foro de tu proyecto.\u003c/p\u003e\u003cp\u003eEsto es muy fácil con un \u003ca href=\"https://meta.discourse.org/t/embed-discourse-comments-on-another-website-via-javascript/31963\"\u003eforo Discourse\u003c/a\u003e (que utilizamos en este mismo blog), y con \u003ca href=\"https://giscus.app/fr\"\u003eDebates en GitHub a través de Giscus\u003c/a\u003e (que también son fáciles de integrar con \u003ca href=\"https://quarto.org/docs/output-formats/html-basics.html#commenting\"\u003eQuarto\u003c/a\u003e entre otros).\u003c/p\u003e\u003cp\u003eIntegrar los comentarios con tu foro significa que sólo tienes que vigilar un espacio, y también ayuda a conectar a los lectores de las entradas de tu blog con el foro.\u003c/p\u003e\u003ch2 id=\"tener-perfiles-en-las-redes-sociales\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#tener-perfiles-en-las-redes-sociales\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTener perfiles en las redes sociales\u003c/h2\u003e\u003cp\u003eLas redes sociales pueden ser útiles para dar a conocer tu proyecto y sus actualizaciones, y para interactuar con los usuarios.Puedes optar por hacer que tus redes sociales sean de \u0026ldquo;sólo lectura\u0026rdquo;, indicando claramente que no dispones de recursos para responder a preguntas allí.\u003c/p\u003e\u003cp\u003eLo ideal es que concentres tu uso de las redes sociales en \u003ca href=\"/blog/2023/06/22/ropensci-news-digest-june-2023/#ropenscis-communication-channels-for-safe-and-friendly-exchange\"\u003eplataformas agradables\u003c/a\u003e y plataformas en las que es probable que se junten los usuarios y la comunidad de tus proyectos.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn este post, compartimos algunos consejos para la comunicación de tu proyecto de código abierto.Utiliza canales de comunicación acordes con los objetivos y recursos de tu proyecto.Puede que también te interese nuestra anterior convocatoria comunitaria \u003ca href=\"/blog/2021/04/28/commcall-pkg-community/\"\u003eConfigura tu paquete para fomentar una comunidad\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/05/17/communication-tips-oss-project/","date_published":"2024-05-17T00:00:00+00:00","date_modified":"2025-11-15T21:58:31-03:00"},{"id":"https://doi.org/10.59350/6admz-h7f40","title":"Del Director Fundador: Mi despedida de rOpenSci","language":"es","authors":[{"name":"Karthik Ram","url":"https://ropensci.org/es/author/karthik-ram/","avatar":"https://ropensci.org/img/team/karthik-ram.png","_role":["author"]}],"tags":["transiciones","liderazgo"],"content_html":"\u003cp\u003eEstimada comunidad rOpenSci,\u003c/p\u003e\u003cp\u003eEste es un anuncio un poco agridulce\u0026hellip; después de casi 13 años, es hora de que me retire como Director Ejecutivo de rOpenSci.\u003c/p\u003e\u003cp\u003eEn el verano de 2011 cofundé rOpenSci junto con un grupo de colegas dedicados. Lo que comenzó como una colaboración informal entre entusiastas de la ciencia abierta evolucionó rápidamente hacia algo mucho más significativo. Nunca imaginamos que se convertiría en la iniciativa global que es hoy, con un equipo que se extiende por todo el mundo e influye en innumerables investigadores.\u003c/p\u003e\u003cp\u003erOpenSci se ha convertido en un actor importante en las comunidades de la ciencia abierta y el software de investigación. Hemos creado un ecosistema de herramientas que facilitan la investigación y tienden puentes entre la investigación y la tecnología. Hemos tenido la suerte de ayudar a muchas personas investigadoras no sólo con su investigación, sino también a encontrar carreras satisfactorias como desarroladores de software científico. Al principio centramos nuestros esfuerzos en resolver necesidades de investigación prioritarias, pero este enfoque no era sostenible a largo plazo. Alrededor de 2014, cambiamos a un modelo de colaboración, trabajando directamente con las personas que hacen ciencia para combinar su experiencia en el campo con nuestras habilidades de desarrollo de software. Este cambio dio lugar a la creación de nuestro emblemático servicio de revisión por pares de software.  También inspiró otras iniciativas de éxito como las \u003ca href=\"https://www.theoj.org/\"\u003erevistas abiertas\u003c/a\u003e, \u003ca href=\"https://www.pyopensci.org/\"\u003ePyOpenSci\u003c/a\u003e e incluso ha influido en las prácticas de varias agencias gubernamentales.\u003c/p\u003e\u003cp\u003eNuestro enfoque ha crecido con los años. Ahora ofrecemos un servicio integral de revisión por pares de software, desarrollamos normas para paquetes de software estadístico, \u003ca href=\"https://r-lib.r-universe.dev/\"\u003emantenemos una infraestructura comunitaria\u003c/a\u003e y trabajamos para amplificar las voces subrepresentadas en la comunidad de desarrollo de software de investigación. Nuestras \u003ca href=\"/tags/unconf/\"\u003eun-conferencias\u003c/a\u003e han impulsado la innovación, alimentado nuevas organizaciones y cultivado el liderazgo en nuestro campo.\u003c/p\u003e\u003cp\u003eLa fuerza y resiliencia de nuestra comunidad es lo que realmente hace que rOpenSci tenga éxito.  Confío en que el Dr. Noam Ross, un valioso miembro de nuestro equipo directivo y líder de nuestra revisión por pares de software, dirigirá el proyecto como director en funciones. Su compromiso y visión me hacen confiar plenamente en una transición fluida y un futuro vibrante para rOpenSci.\u003c/p\u003e\u003cp\u003eEstoy muy ilusionado por ver  que le depara el futuro a rOpenSci. Hay mucho potencial para avances y asociaciones innovadoras. Estoy impaciente por ver el impacto continuado de nuestros esfuerzos colectivos. Seguiré actuando como asesor, apoyando a Noam y al equipo en la creación de nuevas colaboraciones y guiando el futuro de rOpenSci hacia su próximo capítulo.\u003c/p\u003e\u003cp\u003eGracias por vuestro apoyo, colaboración e inspiración a lo largo de estos años. Por el próximo capítulo de innovación y descubrimiento en la comunidad rOpenSci.\u003c/p\u003e\u003cp\u003e\u003ca href=\"/es/blog/2023/03/29/hello-from-our-new-executive-director-es/\"\u003e\u003cem\u003eLea un post de nuestro director entrante, Noam Ross\u003c/em\u003e\u003c/a\u003e\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/03/29/from-the-founding-director-my-farewell-to-ropensci/","date_published":"2024-03-29T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/p060y-x8b85","title":"Hola de nuestro nuevo Director Ejecutivo","language":"es","authors":[{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]}],"tags":["transiciones","liderazgo"],"content_html":"\u003cp\u003eMe complace, emociona y llena de humildad anunciar que asumo el cargo de Director Ejecutivo de rOpenSci a partir del 1 de Abril.\u003c/p\u003e\u003cp\u003eEn primer lugar, permítanme expresar mi gratitud a nuestro Director Ejecutivo saliente y amigo Karthik Ram por su liderazgo y tutoría al frente de rOpenSci durante la última década.  Ha sido una mano firme y un visionario que ha ayudado a nuestra comunidad a lograr tanto juntos en este tiempo.  Gracias a él y al resto de \u003ca href=\"/about/#team\"\u003eequipo\u003c/a\u003e por confiarme este papel.\u003c/p\u003e\u003cp\u003eHe tenido el placer de ser miembro de rOpenSci durante muchos años: como voluntario, editor de la revisión por pares de software de rOpenSci desde 2015 y director del programa de revisión por pares desde 2019.  Soy \u003ca href=\"https://www.ecohealthalliance.org/personnel/dr-noam-ross\"\u003eecólogo de enfermedades en una ONG\u003c/a\u003e donde trabajo todos los días con las herramientas de análisis reproducible que crea la comunidad rOpenSci.\u003c/p\u003e\u003cp\u003eEstoy profundamente comprometida con los valores de rOpenSci de investigación abierta y reproducible utilizando datos compartidos, de creación de infraestructuras y de una comunidad acogedora e integradora que permita a quienes investigan y desarrollan software apoyarse mutuamente para realizar investigaciones impactantes y trabajar por el bien público.\u003c/p\u003e\u003cp\u003eComo director, estoy deseando trabajar con nuestra enorme comunidad de personas que investigan, desarrollan, revisan, editan, son parte de nuestro programa de campeones campeonas y del staff.  Mi objetivo es fortalecer los pilares de nuestro trabajo y ampliarlos a través de nuevas asociaciones: incorporar nuevas voces y talentos al ecosistema de código abierto, mejorar el software de investigación mediante la revisión por pares, crear redes de apoyo mutuo entre quienes desarrollan software de investigación y crear nuevas infraestructuras y herramientas en la frontera de la práctica reproducible.\u003c/p\u003e\u003cp\u003eSé que esta comunidad seguirá haciendo grandes cosas, ¡y me alegro de poder formar parte de ella!\u003c/p\u003e\u003cp\u003e\u003ca href=\"/blog/2024/03/29/from-the-founding-director-my-farewell-to-ropensci-es/\"\u003eLea el mensaje de despedida del director fundador Karthik Ram\u003c/a\u003e\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/03/29/hello-from-our-new-executive-director/","date_published":"2024-03-29T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/g9ths-tc712","title":"Un ejemplo de los principios DRY/DAMP para las pruebas de paquetes","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]}],"tags":["notas técnicas","desarrollo de paquetes","programa de campeones","como se hace","testing"],"content_html":"\u003cp\u003erOpenSci \u003ca href=\"/blog/2024/02/15/champions-program-champions-2024/\"\u003eha incorporado la segunda cohorte de Campeones\u003c/a\u003e ¡!Su formación comenzó con una \u003ca href=\"/blog/2024/02/22/beautiful-code/\"\u003esesión sobre el estilo del código\u003c/a\u003e a la que siguieron tres sesiones sobre los fundamentos del desarrollo de paquetes R, y finalizó con una sesión sobre \u003ca href=\"https://rpkgdev-rocket-2024.netlify.app/\"\u003edesarrollo avanzado de paquetes R\u003c/a\u003e que consistió en un popurrí de consejos más un debate, seguido de tiempo para aplicar estos principios a los paquetes de los participantes.Aquí quiero compartir uno de los temas tratados: La comprobación de paquetes y, en particular, los principios DRY Don´t Repeat Yourself (\u0026ldquo;no te repitas\u0026rdquo;) y DAMP Descriptive And Meaningful Phrases (\u0026ldquo;frases descriptivas y significativas\u0026rdquo;).Para este tema, utilizamos un \u003ca href=\"https://github.com/maelle/swamp\"\u003erepositorio de GitHub\u003c/a\u003e que contiene un paquete R cuyos diferentes commits ilustran los dos principios. En cada paso compartiremos un commit o diff que ilustre los cambios realizados.\u003c/p\u003e\u003ch2 id=\"etapa-1-barro\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#etapa-1-barro\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEtapa 1: ¡barro!\u003c/h2\u003e\u003cp\u003ePrimer commit: Configurar nuestros archivos de prueba, \u003ca href=\"https://github.com/maelle/swamp/blob/c67cc053cafb2cc5f5125cbc745b2f392a84e3df/tests/testthat/test-works.R\"\u003etrabajos-de-prueba.R\u003c/a\u003e y \u003ca href=\"https://github.com/maelle/swamp/blob/c67cc053cafb2cc5f5125cbc745b2f392a84e3df/tests/testthat/test-ok.R\"\u003eprueba-ok.R\u003c/a\u003e\u003c/p\u003e\u003cp\u003eEstos dos archivos de prueba iniciales definen un objeto llamado \u003ccode\u003etest_object\u003c/code\u003e en el nivel superior, que se utiliza en dos pruebas de cada archivo.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eprueba-trabajos.R\u003c/strong\u003e\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003etest_object\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003elist\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ea\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eb\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etest_that\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;multiplication works\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eexpect_equal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etest_object[[\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;b\u0026#34;\u003c/span\u003e\u003cspan class=\"n\"\u003e]]\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e4\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e})\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etest_that\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;addition works\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eexpect_equal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etest_object[[\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;a\u0026#34;\u003c/span\u003e\u003cspan class=\"n\"\u003e]]\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e})\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ey\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eprueba-ok.R\u003c/strong\u003e\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003etest_object\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003elist\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ea\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eb\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etest_that\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;division works\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eexpect_equal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etest_object[[\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;b\u0026#34;\u003c/span\u003e\u003cspan class=\"n\"\u003e]]\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e})\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etest_that\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;substraction works\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eexpect_equal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etest_object[[\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;a\u0026#34;\u003c/span\u003e\u003cspan class=\"n\"\u003e]]\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e})\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eNo es un patrón óptimo porque no puedes mirar cada \u003ccode\u003etest_that()\u003c/code\u003e ya que prueba de forma aislada y no comprende rápidamente lo que ocurre.En un archivo de pruebas muy largo incluso tendrías que desplazarte hacia arriba y abajo! \u0026#x1f631;Además, estamos siendo repetitivos al definir el mismo objeto de prueba en dos archivos de prueba.\u003c/p\u003e\u003ch2 id=\"fase-2-secado\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#fase-2-secado\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFase 2: ¡SECADO!\u003c/h2\u003e\u003cp\u003eSiguiente compromiso: \u003ca href=\"https://github.com/maelle/swamp/commit/381f244f56f1837207f2150a7e76c70bd59c0422\"\u003eSECAR estos archivos\u003c/a\u003e\u003c/p\u003e\u003cp\u003eEn esta fase nos acordamos rápidamente de DRY, Don\u0026rsquo;t Repeat Yourself (No te repitas), y de la mecánica de \u003ca href=\"https://blog.r-hub.io/2020/11/18/testthat-utility-belt/\"\u003earchivos de ayuda de testthat\u003c/a\u003e:archivos cuyos nombres empiezan por \u003ccode\u003ehelper-\u003c/code\u003e se cargan antes de todas las pruebas.\u003c/p\u003e\u003cp\u003eAsí que creamos un archivo de ayuda (\u003ccode\u003ehelper-swamp.R\u003c/code\u003e) dentro del cual \u003ccode\u003etest_object\u003c/code\u003e esté definido, por lo tanto, ¡disponible para las pruebas!\u003c/p\u003e\u003cp\u003eEn \u003ccode\u003etests/testthat/helper-swamp.R\u003c/code\u003e,\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003etest_object\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003elist\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ea\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eb\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEn los archivos de prueba, eliminamos la primera línea que definía \u003ccode\u003etest_object\u003c/code\u003e.\u003c/p\u003e\u003cp\u003ePero las cosas aún no son perfectas.Cuando miramos cualquiera de los archivos de prueba, no podemos saber realmente qué \u003ccode\u003etest_object\u003c/code\u003e ya que su nombre no es \u0026ldquo;descriptivo y significativo\u0026rdquo;.\u003c/p\u003e\u003cp\u003eAdemás, ahora tenemos \u003ccode\u003etest_object\u003c/code\u003e que es \u003cem\u003esiempre\u003c/em\u003e definida aunque no se utilice en una prueba.En el mejor de los casos, esto es innecesario e inútil; en el peor, podría tener efectos secundarios no deseados, ¡sobre todo con código más complejo! \u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e\u003c/p\u003e\u003ch2 id=\"fase-3-centrarse-en-el-damp\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#fase-3-centrarse-en-el-damp\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFase 3: Centrarse en el DAMP\u003c/h2\u003e\u003cp\u003eTercer compromiso: \u003ca href=\"https://github.com/maelle/swamp/commit/9cc08937e1cabf112955004212e1d0bccf2ccda4\"\u003eAplicar los principios DAMP\u003c/a\u003e\u003c/p\u003e\u003cp\u003eEn el archivo de ayuda, \u003ccode\u003etests/testthat/helper-swamp.R\u003c/code\u003e refactorizamos el código en una \u003cem\u003efunción\u003c/em\u003e con un nombre más significativo (¡al menos hagamos como si lo fuera!).\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ebasic_list\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003elist\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ea\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eb\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eA continuación, usamos esta función para definir el objeto en todas las pruebas en las que sea necesario.Así, los archivos de prueba pasan a ser\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etest_that\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;division works\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etest_object\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003ebasic_list\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eexpect_equal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etest_object[[\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;b\u0026#34;\u003c/span\u003e\u003cspan class=\"n\"\u003e]]\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e})\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ey\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etest_that\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;substraction works\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etest_object\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003ebasic_list\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eexpect_equal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etest_object[[\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;a\u0026#34;\u003c/span\u003e\u003cspan class=\"n\"\u003e]]\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e})\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAhora, aunque la definición real de la lista básica no está en todas las pruebas, tenemos una mejor idea de lo que ocurre al leer la prueba.\u003c/p\u003e\u003cp\u003eAdemás, si la prueba fallara, en la consola podríamos ejecutar \u003ccode\u003edevtools::load_all()\u003c/code\u003e y ejecutar el código de la prueba, como \u003ccode\u003edevtools::load_all()\u003c/code\u003e carga los archivos de ayuda de la prueba así \u003ccode\u003ebasic_list()\u003c/code\u003e están disponibles.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEl equilibrio entre DRY (\u0026ldquo;No te repitas\u0026rdquo;) y DAMP (\u0026ldquo;Frases descriptivas y significativas\u0026rdquo;) es un compromiso.Para mantener la analogía del agua, también tenemos que asegurarnos de que nuestro código no tenga efectos que puedan \u0026ldquo;filtrarse\u0026rdquo; inesperadamente.Lo que debemos procurar son pruebas autocontenidas que podamos entender y ejecutar sin demasiado contexto.\u003c/p\u003e\u003cp\u003eOtra consideración que no hemos tratado aquí son las pruebas que requieren elementos específicos, como variables de entorno u opciones. En esos casos, intenta utilizar \u003ca href=\"https://withr.r-lib.org/\"\u003econr\u003c/a\u003e como \u003ca href=\"https://withr.r-lib.org/reference/with_envvar.html\"\u003e\u003ccode\u003ewithr::local_envvar()\u003c/code\u003e\u003c/a\u003e en cada prueba que lo requiera.\u003c/p\u003e\u003cp\u003eUna idea poderosa del libro \u003ca href=\"https://www.oreilly.com/library/view/software-engineering-at/9781492082781/\"\u003e\u0026ldquo;Ingeniería de Software en Google\u0026rdquo;\u003c/a\u003e de Titus Winters, Tom Manshreck y Hyrum Wright, es que el código puede permitirse ser un poco menos obvio porque tiene pruebas que lo cubren, pero el código de prueba, que no está cubierto por pruebas, no tiene este lujo.\u003c/p\u003e\u003ch2 id=\"más-recursos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#m%c3%a1s-recursos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMás recursos\u003c/h2\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eLos tres capítulos sobre pruebas de paquetes del libro R packages de Hadley Wickham y Jenny Bryan son una lectura muy recomendable: \u003ca href=\"https://r-pkgs.org/testing-basics.html\"\u003eConceptos básicos de las pruebas\u003c/a\u003e, \u003ca href=\"https://r-pkgs.org/testing-design.html\"\u003eDiseñar tu conjunto de pruebas\u003c/a\u003e, \u003ca href=\"https://r-pkgs.org/testing-advanced.html\"\u003eTécnicas de prueba avanzadas\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eEntrada del blog \u003ca href=\"https://mtlynch.io/good-developers-bad-tests/\"\u003ePor qué los buenos desarrolladores escriben malas pruebas unitarias\u003c/a\u003e por Michael Lynch.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eEsto es una fuga. En otra prueba, uno podría preguntarse por qué existe algún objeto, por qué se ha establecido una opción concreta, etc. y es una pesadilla depurarlo.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2024/03/18/dry-damp/","date_published":"2024-03-18T00:00:00+00:00","date_modified":"2025-09-18T13:16:34-03:00"},{"id":"https://doi.org/10.59350/sce7g-vhp14 ","title":"rOpenSci Dev Guide 0.9.0: ¡Ahora multilingüe! Y mejor","language":"es","authors":[{"name":"Mark Padgham","url":"https://orcid.org/0000-0003-2172-5265","avatar":"https://ropensci.org/img/team/mark-padgham.jpg","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor"]}],"tags":["Revisión por pares de software","guía de desarrollo","multilingüe"],"content_html":"\u003cp\u003eLas orientaciones de la Revisión por Pares de Software de rOpenSci se compilan en un \u003ca href=\"https://devguide.ropensci.org/booknews\"\u003elibro en línea\u003c/a\u003e que sigue mejorando.Esta articulo de blog resume las novedades de nuestra Guía de Desarrollo 0.9.0, con todos los cambios enumerados en la sección \u003ca href=\"https://devguide.ropensci.org/booknews.html\"\u003eregistro de cambios\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"ahora-disponible-en-español\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ahora-disponible-en-espa%c3%b1ol\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¡Ahora disponible en español!\u003c/h2\u003e\u003cp\u003eNuestra guía es ahora bilingüe (inglés y \u003ca href=\"https://devguide.ropensci.org/es/index.es.html\"\u003eespañol\u003c/a\u003e), gracias al trabajo de \u003ca href=\"/author/yanina-bellini-saibene/\"\u003eYanina Bellini Saibene\u003c/a\u003e, \u003ca href=\"/author/elio-campitelli/\"\u003eElio Campitelli\u003c/a\u003e y \u003ca href=\"/author/pao-corrales/\"\u003ePao Corrales\u003c/a\u003e y gracias a \u003ca href=\"/blog/2023/01/12/multilingual-publishing-en/\"\u003eel apoyo de la Iniciativa Chan Zuckerberg, NumFOCUS y el Consorcio R\u003c/a\u003e.\u003ca href=\"https://devguide.ropensci.org/es/index.es.html\"\u003eLee la guía en inglés\u003c/a\u003e.\u003c/p\u003e\u003cp\u003ePuedes obtener más información sobre nuestro proyecto de publicación multilingüe en los recursos y video de una \u003ca href=\"/commcalls/nov2023-multilenguaje/\"\u003ereunión de la comunidad\u003c/a\u003e reciente.Entre las herramientas útiles producidas por el proyecto se incluyen la \u003ca href=\"https://translationguide.ropensci.org/es/index.es.html\"\u003eguía de traducción\u003c/a\u003e el \u003ca href=\"https://docs.ropensci.org/babelquarto/\"\u003epaquete babelquarto\u003c/a\u003e para construir libros o sitios web Quarto multilingües, y el \u003ca href=\"https://docs.ropensci.org/babeldown/\"\u003epaquete babeldown\u003c/a\u003e para crear y actualizar traducciones utilizando la API de DeepL.\u003c/p\u003e\u003cp\u003eAhora nuestra guía también se traduce a \u003ca href=\"https://ropensci.org/blog/2023/10/20/news-october-2023/#help-us-translate-our-dev-guide-to-portuguese\"\u003eportugués\u003c/a\u003e gracias al esfuerzo de personas voluntarias de nuestra comunidad.¡Estamos muy agradecidos por su trabajo!\u003c/p\u003e\u003ch2 id=\"actualizaciones-de-reglas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#actualizaciones-de-reglas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eActualizaciones de reglas\u003c/h2\u003e\u003cp\u003eHemos actualizado la sección \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_policies.es#package-categories\"\u003eObjetivos y ámbito de aplicación\u003c/a\u003e para incluir los paquetes de traducción, eliminar las categorías experimentales de tratamiento de textos y proporcionar aclaraciones sobre paquetes que consumen APIs.\u003c/p\u003e\u003cp\u003eEn nuestra \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_author.es\"\u003eguía para personas que desarrollan paquetes\u003c/a\u003e ahora nos referimos correctamente a la etapa del ciclo de vida \u0026ldquo;Estable\u0026rdquo; como aquella en la que se puede enviar un paquete, gracias a una contribución del usuario de GitHub \u003ca href=\"https://github.com/bart1\"\u003ebart1\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"hoja-de-trucos-para-las-personas-que-mantienen-paquetes-de-ropensci\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#hoja-de-trucos-para-las-personas-que-mantienen-paquetes-de-ropensci\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eHoja de trucos para las personas que mantienen paquetes de rOpenSci\u003c/h2\u003e\u003cp\u003eHemos creado una Hoja de trucos para las \u003ca href=\"https://devguide.ropensci.org/es/maintenance_cheatsheet.es\"\u003epersonas que mantienen paquetes de rOpenSci\u003c/a\u003e sobre cómo pedir ayuda sobre distintos temas.\u003c/p\u003e\u003ch2 id=\"mejoras-en-la-guía-de-desarrollo-de-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mejoras-en-la-gu%c3%ada-de-desarrollo-de-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMejoras en la guía de desarrollo de paquetes\u003c/h2\u003e\u003cp\u003eEl capítulo de la guía de desarrollo de paquetes ha recibido varias mejoras.\u003c/p\u003e\u003cp\u003eHemos actualizado los \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es#roxygen-2-use\"\u003econsejos sobre roxygen2\u003c/a\u003e enlazando principalmente con el sitio web de \u003ca href=\"https://roxygen2.r-lib.org/\"\u003eroxygen2\u003c/a\u003e.Los consejos también incluyen una explicación de cómo documentar un argumento por defecto, gracias a \u003ca href=\"https://github.com/bisaloo\"\u003eHugo Gruson\u003c/a\u003e.También hemos mejorado nuestra redacción para hacer hincapié en que el uso de roxygen2 sigue implicando esfuerzos manuales (gracias a \u003ca href=\"https://github.com/vincentvanhees\"\u003eVincent van Hees\u003c/a\u003e).\u003c/p\u003e\u003cp\u003eHemos añadido \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es#paquetes-que-envuelven-recursos-web-clientes-api\"\u003econsejos para paquetes que consumen APIs web\u003c/a\u003e basados en la entrada del blog \u003ca href=\"/blog/2022/06/16/publicize-api-client-yes-no/\"\u003e\u0026ldquo;Por qué deberías (o no deberías) construir un cliente API\u0026rdquo;\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eNuestras instrucciones sobre \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es#citation-file\"\u003eFicheros de CITA\u003c/a\u003e reflejan ahora las nuevas políticas de CRAN.\u003c/p\u003e\u003cp\u003eNuestra \u003ca href=\"https://devguide.ropensci.org/es/pkg_building.es#testing\"\u003elista de paquetes de ayuda a las pruebas\u003c/a\u003e incluye ahora shinytest2, que prevemos que acabará sustituyendo a shinytest.\u003c/p\u003e\u003ch2 id=\"mejoras-en-la-guía-de-github-y-ci\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mejoras-en-la-gu%c3%ada-de-github-y-ci\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMejoras en la guía de GitHub y CI\u003c/h2\u003e\u003cp\u003eNuestro capítulo sobre colaboración incluye más enlaces a \u003ca href=\"https://devguide.ropensci.org/es/maintenance_collaboration.es#git-workflow\"\u003erecursos sobre, por ejemplo, revisiones de PR y flujos de trabajo Git\u003c/a\u003e gracias a \u003ca href=\"https://github.com/maurolepore\"\u003eMauro Lepore\u003c/a\u003e.Ese mismo capítulo menciona ahora \u003ca href=\"https://devguide.ropensci.org/es/maintenance_collaboration.es#communication-with-users\"\u003eDiscusiones en GitHub\u003c/a\u003e como forma de comunicarse las personas que usan el paquete y más detalles sobre \u003ca href=\"https://devguide.ropensci.org/es/maintenance_collaboration.es#issue-templates\"\u003eplantillas de \u003cem\u003eissues\u003c/em\u003e\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://github.com/ewallace\"\u003eEdward Wallace\u003c/a\u003e añadió una explicación de \u003ca href=\"https://devguide.ropensci.org/es/pkg_ci.es#what-is-continuous-integration-ci\"\u003ela integración continua (CI) en general\u003c/a\u003e y de la \u003ca href=\"https://devguide.ropensci.org/es/pkg_ci.es#coverage\"\u003ecodecov en particular\u003c/a\u003e a nuestra guía CI.\u003c/p\u003e\u003ch2 id=\"mejor-documentación-del-proceso\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mejor-documentaci%c3%b3n-del-proceso\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMejor documentación del proceso\u003c/h2\u003e\u003cp\u003eAhora destacamos los valores de nuestro sistema y el tono que nos esforzamos por conseguir en más lugares: en la parte superior de la guía para quienes revisan, en la plantilla para las solicitudes de revisión y en el mensaje que nuestro bot publica después de que quienes editan \u003ca href=\"https://github.com/ropensci-org/buffy/pull/77/files\"\u003easignan las personas que revisaran\u003c/a\u003e.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e\u003cstrong\u003eLa comunidad de rOpenSci es nuestro mejor activo.Nuestro objetivo es que las revisiones sean abiertas, no conflictivas y centradas en mejorar la calidad del software.¡Sé amable!Consulta nuestra guía de revisión y el \u003ca href=\"https://ropensci.org/code-of-conduct/\"\u003ecódigo de conducta\u003c/a\u003e para más información.\u003c/strong\u003e\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003e\u003ca href=\"https://github.com/s3alfisc/\"\u003eAlexander Fischer\u003c/a\u003e añadido una explicación sobre el envío de paquetes a través de ramas no predeterminadas a la página \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_author.es\"\u003eguía para autores y autoras\u003c/a\u003e y a la \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_reviewer.es#general-guidelines\"\u003eguía para las personas que revisan\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eNuestra guía para revisar explica ahora claramente cómo \u003ca href=\"https://devguide.ropensci.org/es/softwarereview_reviewer.es#volunteering-as-a-reviewer\"\u003epuedes ofrecerse voluntariamente para revisar, en general y para una presentación concreta\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn este articulo hemos resumido los cambios incorporados a nuestro libro \u003ca href=\"https://devguide.ropensci.org/es\"\u003e\u0026ldquo;Paquetes rOpenSci: Desarrollo, mantenimiento y revisión por pares\u0026rdquo;\u003c/a\u003e en los últimos meses.Agradecemos todas las contribuciones que han dado forma a esta publicación.Ya estamos trabajando en la próxima versión, que incluirá una traducción al portugués gracias al esfuerzo y trabajo voluntario de personas de nuestra  comunidad.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/03/11/r_open_sci_dev_guide_0_9_0_ahora_multiling%C3%BCe_y_mejor/","date_published":"2024-03-11T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/560wv-xjg66","title":"Ideas de marketing para tu paquete","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator","author"]}],"tags":["comunidad","mantenimiento","desarrollo de paquetes"],"content_html":"\u003cp\u003eAhora que has creado tu paquete, presentarlo al mundo es un paso crucial para \u003cstrong\u003eganar visibilidad y atraer usuarios\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003ePublicitar tu paquete de forma eficaz contribuye a llegar a las personas a las que tu paquete puede ayudar, a encontrar usuarios que te ayuden a mantener y mejorar tu paquete y te permite conocer cómo lo utiliza la gente.\u003c/p\u003e\u003cp\u003eEn este artículo te proponemos una serie de actividades y herramientas para publicitar tu paquete.\u003c/p\u003e\u003ch2 id=\"publica\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#publica\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePublica\u003c/h2\u003e\u003cp\u003eCrea un completo \u003ca href=\"https://blog.r-hub.io/2019/12/03/readmes/\"\u003eREADME\u003c/a\u003e que explique claramente qué hace tu paquete, cómo instalarlo y cómo se puede empezar a usar. Incluye ejemplos o casos de uso y (enlaces a) cualquier información relevante que pueda ayudar a los y las usuarias a entender cómo tu paquete puede ayudarles.\u003c/p\u003e\u003cp\u003eSi utilizas GitHub, puedes \u003ca href=\"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile\"\u003eanclar el repositorio de tu paquete a tu perfil\u003c/a\u003e para que otras personas puedan encontrarlo rápidamente.\u003c/p\u003e\u003cp\u003e\u003ca href=\"/blog/2021/06/22/setup-runiverse/\"\u003eCrea un universo en R-universe\u003c/a\u003e que ayudará a los usuarios a simplificar la instalación de tu paquete, y que proporcionará estadísticas e información útiles sobre él. R-Universe es también una forma de mostrar tu colección de paquetes. También puedes \u003ca href=\"https://cran.r-project.org\"\u003epublicarla en CRAN\u003c/a\u003e que es otra forma de simplificar la instalación a tus usuarios potenciales.\u003c/p\u003e\u003cp\u003ePor último, considera la posibilidad de enviar tu paquete a nuestro \u003ca href=\"/software-review/\"\u003eproceso de revisión por pares\u003c/a\u003e si está dentro de tu alcance. Todos estos pasos te ayudarán a ganar visibilidad y también a cumplir las normas de calidad. Si esto te interesa, generalmente recomendamos \u003ca href=\"https://devguide.ropensci.org/policies.html#publishing-in-other-venues\"\u003esometerlo a revisión antes de enviarlo a CRAN\u003c/a\u003e ya que los comentarios de la revisión, a menudo, pueden ayudar con los envíos a CRAN.\u003c/p\u003e\u003ch2 id=\"promociona\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#promociona\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePromociona\u003c/h2\u003e\u003cp\u003eAhora que tu paquete está publicado y listo para ser utilizado, aquí tienes algunas sugerencias de cosas que puedes hacer para ayudar a promocionar tu paquete y construir su base de usuarios.\u003c/p\u003e\u003cp\u003eAprovecha plataformas como Mastodon, LinkedIn y foros específicos de R como \u003ca href=\"https://www.r-bloggers.com\"\u003eR-bloggers\u003c/a\u003e y \u003ca href=\"https://rweekly.org\"\u003eSemanario R\u003c/a\u003e para anunciar el lanzamiento de tu paquete. También puedes utilizar tus propias redes sociales o blogs para compartir actualizaciones, tutoriales, casos de uso, charlas y próximos eventos en los que estarás disponible para interactuar con los usuarios.\u003c/p\u003e\u003cp\u003eSi tu paquete forma parte de la rOpenSci Suite puedes \u003ca href=\"https://blogguide.ropensci.org/\"\u003eescribir una entrada de blog o una nota técnica\u003c/a\u003e para nuestro blog y la compartiremos en nuestro \u003ca href=\"/news/\"\u003eboletín mensual\u003c/a\u003e y en nuestras redes sociales.\u003c/p\u003e\u003cp\u003ePara los paquetes de rOpenSci, recopilamos los \u003ca href=\"/usecases\"\u003ecasos de uso\u003c/a\u003e y los presentamos en el sitio web, así como \u003ca href=\"/packages/\"\u003eel paquete\u003c/a\u003e. También tenemos campañas en las redes sociales, por ejemplo \u003ca href=\"https://hachyderm.io/@rOpenSci/tagged/APackageADay\"\u003e\u0026ldquo;Un paquete al día\u003c/a\u003e en Mastodon, donde presentamos un paquete de nuestro conjunto cada día. En LinkedIn publicamos cada lunes nuestro \u003ca href=\"https://www.linkedin.com/feed/update/urn:li:activity:7170464303186108416\"\u003e\u0026ldquo;Resumen semanal de paquetes\u0026rdquo;.\u003c/a\u003e con una lista de cinco paquetes que pertenecen a la misma categoría.\u003c/p\u003e\u003cp\u003eSi te gusta dar charlas, puedes hablar en un Grupo de Usuarios de R o en \u003ca href=\"https://www.meetup.com/pro/rladies/\"\u003eCapítulos de R-Ladies\u003c/a\u003e. Las personas que organizan invitan a los y las expositoras, pero la mayoría de los grupos están abiertos a ofertas para dar una charla o dar un taller. Presentar tu paquete en una conferencia de un dominio específico es otra forma de llegar a los usuarios y conseguir una mayor exposición. También hay conferencias específicas de R como \u003ca href=\"https://events.linuxfoundation.org/user/\"\u003euseR!\u003c/a\u003e, \u003ca href=\"https://latin-r.com/\"\u003eLatinR\u003c/a\u003e, \u003ca href=\"https://satrdays.org/\"\u003eSatRDay\u003c/a\u003e y \u003ca href=\"https://posit.co/conference/\"\u003ePosit::Conf\u003c/a\u003e.\u003c/p\u003e\u003cp\u003erOpenSci tiene dos reuniones \u003ca href=\"/coworking/\"\u003ede dos horas cada mes\u003c/a\u003e no dudes en ponerte en contacto con nosotros si estás interesado en organizar una sesión de co-working sobre un tema relacionado con tu paquete.\u003c/p\u003e\u003cp\u003eSi tu paquete tiene un alcance amplio, también puedes proponer organizar un evento \u003ca href=\"/commcalls/\"\u003eConversaciones con la Comunidad de rOpenSci\u003c/a\u003e sobre tu paquete. Por ejemplo, una de estas conversaciones \u003ca href=\"/commcalls/jan2023-targets/\"\u003efue sobre el paquete targets\u003c/a\u003e e incluyó un panel con dos usuarios que mostraron cómo utilizan el paquete y el autor principal compartió nuevos conocimientos sobre el paquete. Como alternativa, considera la posibilidad de reunirte con otros autores de paquetes y proponer una convocatoria comunitaria relacionada con el ámbito de aplicación, que abarque el uso de varios paquetes más específicos (por ejemplo, \u003ca href=\"/commcalls/2019-03-27/\"\u003eAplicaciones de investigación de las herramientas de taxonomía y biodiversidad de rOpenSci\u003c/a\u003e).\u003c/p\u003e\u003cp\u003ePuedes comprobar si tu paquete encaja en una \u003ca href=\"https://cran.r-project.org/web/views/\"\u003eVista de tareas de CRAN\u003c/a\u003e y proponer la adición de tu paquete.\u003c/p\u003e\u003cp\u003eSi tu objetivo es encontrar ayuda para mantener tu paquete, etiqueta tus temas como \u0026ldquo;Se busca ayuda\u0026rdquo;\u0026rdquo; o \u0026ldquo;Buen primer issue\u0026rdquo; para orientar a tus colaboradores sobre dónde se necesita su ayuda. \u003ca href=\"/help-wanted/\"\u003eLos temas de \u0026ldquo;Se busca ayuda\u0026rdquo; de los paquetes del conjunto rOpenSci aparecen en nuestra página web\u003c/a\u003e y se comparten en las redes sociales y en nuestro boletín.  También ayudamos a los mantenedores a escribir una nota técnica para nuestro blog con más detalles sobre el tipo de contribución que necesitan con sus paquetes, ya sea \u003ca href=\"/blog/2024/03/01/qualtrics-call-help/\"\u003econtribuciones de código\u003c/a\u003e, \u003ca href=\"/blog/2024/02/27/assertr-call-help/\"\u003ecerrar temas\u003c/a\u003e o \u003ca href=\"/blog/2024/02/29/targets-call-help/\"\u003eresponder preguntas\u003c/a\u003e.\u003c/p\u003e\u003cp\u003ePublicar un artículo sobre tu paquete es un aspecto importante para los desarrolladores académicos. Las revistas generales de R para publicar paquetes de R son \u003ca href=\"https://journal.r-project.org\"\u003eLa Revista R\u003c/a\u003e y la \u003ca href=\"https://www.jstatsoft.org/index\"\u003eRevista de Software Estadístico\u003c/a\u003e, pero recuerda que las revistas de ámbitos específicos también pueden publicar paquetes de R como herramientas para el campo (por ejemplo, \u003ca href=\"https://besjournals.onlinelibrary.wiley.com/journal/2041210x\"\u003eMétodos en Ecología y Evolución\u003c/a\u003e)\u003c/p\u003e\u003cp\u003eEl paquete que es revisado por pares por rOpenSci tiene una vía rápida para su publicación en la \u003ca href=\"https://joss.theoj.org\"\u003eRevista Software de Código Abierto\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eComo mantenedor de un paquete hay varias actividades que puedes llevar a cabo para dar publicidad a tu paquete. Si tu paquete forma parte de la suite de rOpenSci, también hay formas en las que podemos apoyarte. Al poner en práctica algunas de estas opciones, esperamos que puedas llegar eficazmente a los usuarios y que puedan beneficiarse de la funcionalidad de tu paquete.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/03/07/package-marketing/","date_published":"2024-03-07T00:00:00+00:00","date_modified":"2025-10-15T09:31:19-03:00"},{"id":"https://doi.org/10.59350/snsk0-vgn51","title":"Código bonito, ¡porque lo valemos!","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator","author"]}],"tags":["programa de campeones","notas técnicas","principiantes","desarrollo de paquetes","código limpio"],"content_html":"\u003cp\u003erOpenSci \u003ca href=\"/blog/2024/02/15/champions-program-champions-2024/\"\u003einició el segundo grupo de campeones y campeonas\u003c/a\u003e ¡!Su formación comenzó con una sesión sobre el estilo del código, que resumiremos en este post.Saber más sobre la calidad del código es relevante para todos los proyectos del programa, ya sea crear un nuevo paquete, someter un paquete a revisión de software o revisar un paquete.Esta sesión de formación consistió en una charla y un debate, mientras que las próximas sesiones de formación sobre desarrollo de paquetes serán más prácticas.\u003c/p\u003e\u003ch2 id=\"por-qué-escribir-un-código-bonito\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-qu%c3%a9-escribir-un-c%c3%b3digo-bonito\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por qué escribir un código bonito?\u003c/h2\u003e\u003cp\u003eAunque tu código será ejecutado por máquinas, será leído por humanos.Esos humanos, ya seas tú en el futuro, colaboradores que conozcas o que no conozcas, necesitarán entender tu código para comprobar que no tiene errores, para corregir posibles fallos y para construir sobre él añadiendo nuevas funciones.Por lo tanto, facilitar la comprensión de tu código es crucial.\u003c/p\u003e\u003ch2 id=\"código-bien-proporcionado\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3digo-bien-proporcionado\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCódigo bien proporcionado\u003c/h2\u003e\u003cp\u003eEn la primera parte, compartimos consejos que hacen el código \u0026ldquo;más proporcionado\u0026rdquo;.No es sólo una cuestión de estética.El código bien proporcionado es más fácil de analizar por los humanos.\u003c/p\u003e\u003ch3 id=\"espaciado-regular-entre-elementos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#espaciado-regular-entre-elementos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEspaciado regular entre elementos\u003c/h3\u003e\u003cp\u003eCompara\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003estarwars\u003c/span\u003e\u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003eheight\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003emass\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003cspan class=\"n\"\u003ehomeworld\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003emass\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"kc\"\u003eNULL\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eheight\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"n\"\u003eheight\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"m\"\u003e0.0328084\u003c/span\u003e \u003cspan class=\"c1\"\u003e# convert to feet\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003econ\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003estarwars\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ename\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eheight\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003emass\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ehomeworld\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003emass\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eNULL\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eheight\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eheight\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"m\"\u003e0.0328084\u003c/span\u003e \u003cspan class=\"c1\"\u003e# convert to feet\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEn el primer trozo, el espaciado entre elementos es irregular.Por ejemplo, no hay espacio antes de \u003ccode\u003eheight\u003c/code\u003e no hay espacio alrededor del signo igual que aparece después de \u003ccode\u003emass\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eEn cambio, te recomendamos que sigas ordenadamente las reglas de espaciado (¡y de salto de línea!).A menos que tengas una \u003ca href=\"https://github.com/ropensci-review-tools/spaceout\"\u003eopinión muy diferente\u003c/a\u003e la estrategia más sencilla es seguir la guía de estilo de tus colaboradores, o una guía de estilo popular como la \u003ca href=\"https://style.tidyverse.org/\"\u003eguía de estilo tidyverse\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e¿Cómo se aplican estas normas en la práctica?Primero tendrás que acostumbrarte a utilizar un estilo concreto.Las herramientas automáticas como el \u003ca href=\"https://styler.r-lib.org/\"\u003epaquete estilizador\u003c/a\u003e o tu IDE pueden ayudarte.Por ejemplo, en el IDE de RStudio, el atajo de teclado \u003ccode\u003eCtrl+I\u003c/code\u003e corrige la sangría.\u003c/p\u003e\u003ch3 id=\"no-demasiado-ancho\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#no-demasiado-ancho\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNo demasiado ancho\u003c/h3\u003e\u003cp\u003eUna regla tradicional es no tener más de 80 caracteres por línea.El número exacto no es importante, ¡lo importante es evitar demasiado desplazamiento horizontal!\u003c/p\u003e\u003cp\u003eEl \u003ca href=\"https://lintr.r-lib.org/\"\u003epaquete lintr\u003c/a\u003e puede advertirte sobre líneas demasiado anchas, entre otras muchas cosas.Comparado con styler, lintr no arregla las cosas por sí mismo.\u003c/p\u003e\u003cp\u003eTambién hay un ajuste en el IDE de RStudio para mostrar un margen a los 80 caracteres (Código \u0026gt; Mostrar \u0026gt; Mostrar margen).\u003c/p\u003e\u003ch3 id=\"no-demasiado-largo-párrafos-funciones-existentes-y-caseras\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#no-demasiado-largo-p%c3%a1rrafos-funciones-existentes-y-caseras\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNo demasiado largo: párrafos, funciones existentes y caseras\u003c/h3\u003e\u003cp\u003eEl espacio vertical está limitado en el código tanto por la pantalla como por lo que el lector puede ver de un vistazo (sin tener en cuenta los límites de lo que puede retener en su cabeza).\u003c/p\u003e\u003cp\u003eUna forma de hacer que tu código sea más corto, pero fácil de analizar, es utilizar \u003cem\u003epárrafos de código\u003c/em\u003e.Los saltos de línea no son gratuitos, ya que ocupan espacio vertical.Utiliza saltos de línea para separar bloques de código que hagan algo relacionado.Como en la prosa, un párrafo debe corresponder relativamente a una idea.Por ejemplo, en el siguiente código, el primer bloque hace algo relacionado con la cabecera de una página web, mientras que el segundo bloque se ocupa del cuerpo de la página web.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ehead\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003ecollect_metadata\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ewebsite\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ehead_string\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003estringify\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ehead\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ebody\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003ecreate_content\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ewebsite\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ebody_string\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003estringify\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ebody\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eUna segunda forma de hacer que tu código sea menos largo es dividirlo en funciones.En una función principal, puedes delegar tareas a otras funciones.De este modo, un lector puede ver de un vistazo lo que hace la función principal, y luego dirigirse a las otras funciones para leer más detalles, como en el ejemplo siguiente, donde \u003ccode\u003ecreate_content()\u003c/code\u003e llama a otras funciones para crear un título, una página y, a continuación, crear su salida que combina ambas cosas.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ecreate_content\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ewebsite\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etitle\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003ecreate_title\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ewebsite\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003epage\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003ecreate_page\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ewebsite\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecombine_elements\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003etitle\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003epage\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003epage\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEn su libro \u003ca href=\"https://www.manning.com/books/learn-ai-assisted-python-programming\"\u003eAprende programación Python asistida por IA\u003c/a\u003e Leo Porter y Daniel Zingaro comparten los atributos de las buenas funciones: Una tarea clara a realizar, comportamiento claramente definido, poca cantidad de líneas de código, entradas y salidas claras y valor general sobre uso específico.\u003c/p\u003e\u003cp\u003e¡También es útil saber cómo navegar rápidamente entre funciones en tu IDE!En el IDE de RStudio, puedes utilizar \u003ccode\u003eCtrl+click\u003c/code\u003e sobre el nombre de la función, o escribir su nombre en la barra de búsqueda a la que se accede con \u003ccode\u003eCtrl+.\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eUna tercera forma de acortar tu código es utilizar funciones existentes de R base o de paquetes complementarios.Por ejemplo, para combinar una lista de valores por defecto con una lista de valores personalizados, puedes utilizar la función \u003ca href=\"https://masalmon.eu/2023/06/06/basic-patterns/#combine-a-list-of-default-values-with-a-list-of-custom-values\"\u003e\u003ccode\u003emodifyList()\u003c/code\u003e función\u003c/a\u003e.Como ocurre con las lenguas humanas, aprendemos más palabras R \u003ca href=\"https://masalmon.eu/tags/useful-functions/\"\u003econ el tiempo\u003c/a\u003e leyendo el código de otras personas y haciendo que lean nuestro código.\u003c/p\u003e\u003ch3 id=\"no-demasiado-prolijo-la-cantidad-justa-de-comentarios\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#no-demasiado-prolijo-la-cantidad-justa-de-comentarios\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNo demasiado prolijo: la cantidad justa de comentarios\u003c/h3\u003e\u003cp\u003eEsta parte de la formación era una versión abreviada de la entrada del blog R-hub \u003ca href=\"https://blog.r-hub.io/2023/01/26/code-comments-self-explaining-code/\"\u003ePor qué comentar tu código lo menos (y lo mejor) posible\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eLos comentarios del código no son la voz en off de un narrador del código, deben ser pequeñas alertas.Cuantos más comentarios haya, más probable es que el lector se los salte.\u003c/p\u003e\u003cp\u003eLos comentarios de código no deben ser una curita para una mala clasificación o un código demasiado complejo: en lugar de añadir un comentario, renombra una variable o refactoriza un trozo de código\u003c/p\u003e\u003cp\u003eUna idea útil es usar \u003ca href=\"https://blog.r-hub.io/2023/01/26/code-comments-self-explaining-code/#use-helper-functions-or-explaining-variables\"\u003efunciones o variables autoexplicativas\u003c/a\u003e donde código como\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e!\u003c/span\u003e\u003cspan class=\"nf\"\u003eis.na\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e \u003cspan class=\"nf\"\u003enzchar\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003euse_string\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ese convierte en\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ex_is_not_empty_string\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e!\u003c/span\u003e\u003cspan class=\"nf\"\u003eis.na\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e \u003cspan class=\"nf\"\u003enzchar\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex_is_not_empty_string\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003euse_string\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ePor supuesto, ¡los comentarios del código siguen siendo importantes cuando son necesarios!Algunos ejemplos de buenos comentarios son\u003c/p\u003e\u003cul\u003e\u003cli\u003edocumentación de funciones con roxygen2,\u003c/li\u003e\u003cli\u003easpectos que te gustaría señalar a un revisor de código, como por ejemplo \u003ccode\u003e# Esta consulta no se puede realizar a través de GraphQL, por lo que se debe utilizar la API REST v3\u003c/code\u003e,\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://blog.r-hub.io/2023/01/26/code-comments-self-explaining-code/#use-comments-for-the-scripts-outline\"\u003ecomentarios que proporcionan un índice\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"código-claro\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3digo-claro\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCódigo claro\u003c/h2\u003e\u003cp\u003eEn la segunda parte de la formación, compartimos consejos que mejoran la claridad del código.\u003c/p\u003e\u003ch3 id=\"nombres-autoexplicativos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#nombres-autoexplicativos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNombres autoexplicativos\u003c/h3\u003e\u003cp\u003ePoner nombre a las cosas es notoriamente difícil.Compartimos estas ideas:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eSigue la moda, es decir, utiliza las mismas palabras que otros en tu campo o lenguaje de programación.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eFelienne Hermans, en su libro \u003ca href=\"https://www.manning.com/books/the-programmers-brain\"\u003eEl cerebro del programador\u003c/a\u003e aconseja elegir los conceptos que componen el nombre, las palabras para decirlo y luego juntarlos. Este enfoque en tres pasos es una buena forma de desatascarse.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eSiguiendo el consejo anterior, los nombres deben ser coherentes en toda la base de código y \u003cem\u003emoldes de nombres\u003c/em\u003e son una herramienta muy buena para ello. Los moldes de nombres son patrones en los que se combinan los elementos de un nombre; por ejemplo, si calculas el valor máximo del rendimiento de una cosecha, tienes que acordar si \u003ccode\u003emaximum\u003c/code\u003e será \u003ccode\u003emax\u003c/code\u003e o \u003ccode\u003emaximum\u003c/code\u003e y si la palabra estará al principio o al final del nombre de la variable: debe ser \u003ccode\u003emaxYield\u003c/code\u003e o \u003ccode\u003eyieldMax\u003c/code\u003e?  Al normalizar la forma de nombrar las cosas, nuestro código será más fácil de leer.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u0026ldquo;Cuanto mayor sea la distancia entre la declaración de un nombre y sus usos, más largo deberá ser el nombre\u0026rdquo; (Andrew Gerrand). Sin embargo, por muy cerca que estés de definir una variable, no utilices una abreviatura inteligente muy corta.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eHay varias formas de escribir los nombres de las variables. El estilo camelCase permite una mayor precisión al leer el código (Dave Binkley, 2009) y es mejor para leer el código con lectores de pantalla.  Sabemos que es difícil cambiar el estilo de un proyecto existente, pero si te encuentras en una situación en la que puedes decidir desde cero, entonces considera la posibilidad de utilizar Camel Case. Si no estás seguro de los nombres, de las mayúsculas y minúsculas, consulta el artículo de Allison Horst \u003ca href=\"https://allisonhorst.com/everything-else\"\u003ecaricatura de casos\u003c/a\u003e (desplázate hacia abajo hasta \u0026ldquo;Representaciones en viñetas de casos comunes en codificación\u0026rdquo;).\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eUn nombre está claro si la persona que revisa tu código está de acuerdo.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOtro consejo es que no pasa absolutamente nada por crear funciones que envuelvan otras ya existentes sólo para cambiarles el nombre.Esta estrategia es habitual para cambiar el orden de los argumentos, pero también está bien para cambiar el nombre.Digamos que prefieres que los nombres de tus funciones sean acciones (verbos) en lugar de descripciones pasivas, puedes tener:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# In utils.R\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eremove_extension\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etools\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003efile_path_sans_ext\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# In other scripts\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eremove_extension\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"consejos-lógicos-temprano-return-switch\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#consejos-l%c3%b3gicos-temprano-return-switch\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConsejos lógicos: temprano \u003ccode\u003ereturn()\u003c/code\u003e, \u003ccode\u003eswitch()\u003c/code\u003e\u003c/h3\u003e\u003cp\u003eEn una función,\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003edo_thing\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eis.na\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"kc\"\u003eNA\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e}\u003c/span\u003e \u003cspan class=\"kr\"\u003eelse\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eque equivale a\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003edo_thing\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eis.na\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"kr\"\u003ereturn\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003eNA\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e}\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003epero esta última, con el \u003ccode\u003ereturn()\u003c/code\u003e tiene menos anidamiento y enfatiza el \u003ca href=\"https://github.com/jennybc/code-smells-and-feels\"\u003e\u0026ldquo;camino feliz\u0026rdquo;\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eEn \u003ca href=\"https://rdrr.io/r/base/switch.html\"\u003e\u003ccode\u003eswitch()\u003c/code\u003e\u003c/a\u003e también puede ayudarte a eliminar los if-else anidados.Con el,\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etype\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;mean\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e \u003cspan class=\"kr\"\u003eelse\u003c/span\u003e \u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etype\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;median\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emedian\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e \u003cspan class=\"kr\"\u003eelse\u003c/span\u003e \u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etype\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;trimmed\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003etrim\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e.1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ese convierte en\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kr\"\u003eswitch\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etype\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003emean\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003emedian\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003emedian\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etrimmed\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003emean\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003etrim\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e.1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch3 id=\"menos-código\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#menos-c%c3%b3digo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMenos código\u003c/h3\u003e\u003cp\u003eEl código que \u003cem\u003eno\u003c/em\u003e escribes no tiene ningún fallo (del que seas responsable) y no necesita ser leído \u0026#x1f389;\u003c/p\u003e\u003cp\u003eEn primer lugar, sé estricto con el alcance de lo que intentas conseguir.\u003c/p\u003e\u003cp\u003eEn segundo lugar, utiliza dependencias de confianza para externalizar parte del trabajo.En \u003ca href=\"https://r-pkgs.org/dependencies-mindset-background.html\"\u003e\u0026ldquo;Dependencias: Mentalidad y antecedentes\u0026ldquo;\u003c/a\u003e del libro R packages de Hadley Wickham y Jenny Bryan se explaya mejor el tema.\u003c/p\u003e\u003ch2 id=\"cómo-puedes-mejorar-tu-código\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-puedes-mejorar-tu-c%c3%b3digo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo puedes mejorar tu código?\u003c/h2\u003e\u003cp\u003eEn la práctica, ¿cómo aplicas lo que has aprendido sobre estilo de código?¿Y cómo actualizas tus bases de código heredadas, creadas antes de que conocieras algunos de estos aspectos?\u003c/p\u003e\u003ch3 id=\"limpieza-de-primavera\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#limpieza-de-primavera\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLimpieza de primavera\u003c/h3\u003e\u003cp\u003eTal vez puedas trabajar en el estilo y la refactorización del código con regularidad\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e¿Una vez al año? Andy Teucher escribió una interesante entrada en su blog sobre la \u003ca href=\"https://www.tidyverse.org/blog/2023/06/spring-cleaning-2023/\"\u003elimpieza de primavera tidyverse\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e¿Más a menudo?\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eUna buena estrategia es también trabajar un poco en la refactorización cada vez que entres en una base de código para corregir un error o añadir una característica. No es necesario que la refactorización vaya en el mismo commit / rama, mantén tus cambios de código centrados y fáciles de revisar.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"lintr\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lintr\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003elintr\u003c/h3\u003e\u003cp\u003eEl paquete lintr es un paquete fantástico.Sus linters, o reglas, te recordarán o enseñarán elementos a corregir que no conocías o no podías retener en tu cabeza.Puedes ejecutarlo de vez en cuando o hacerlo funcionar en integración continua.\u003c/p\u003e\u003cp\u003eIncluso la simple lectura de sus \u003ca href=\"https://lintr.r-lib.org/reference/index.html\"\u003ereferencias\u003c/a\u003e puede mostrarte funciones o modelos que desconocías.¡Una verdadera joya del ecosistema R!\u003c/p\u003e\u003ch3 id=\"revisión-humana\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#revisi%c3%b3n-humana\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRevisión humana\u003c/h3\u003e\u003cp\u003eOtros seres humanos tendrán una buena perspectiva externa de tu código y, probablemente, ¡buenos consejos para ti!\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e¡Lee el código de tus colegas y viceversa! El equipo de tidyverse tiene una \u003ca href=\"https://code-review.tidyverse.org/\"\u003eguía de revisión de código\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eEn rOpenSci, llevamos a cabo un \u003ca href=\"/software-review/\"\u003esistema de revisión por pares de paquetes\u003c/a\u003e :sonrisa\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"otros-recursos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#otros-recursos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eOtros recursos\u003c/h2\u003e\u003cp\u003eEstas son las referencias de la mayor parte del contenido :smile_cat:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eCharla de Jenny Bryan \u003ca href=\"https://github.com/jennybc/code-smells-and-feels\"\u003eEl código se huele y se siente\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eReserva \u003ca href=\"https://www.oreilly.com/library/view/the-art-of/9781449318482/\"\u003eEl arte del código legible\u003c/a\u003e de Dustin Boswell y Trevor Foucher\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eLibro \u003ca href=\"https://design.tidyverse.org/\"\u003eDiseño ordenado de Hadley Wickham, en curso\u003c/a\u003e con \u003ca href=\"https://tidydesign.substack.com/\"\u003eboletín asociado\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eLibro \u003ca href=\"https://masalmon.eu/2023/10/19/reading-notes-philosophy-software-design/\"\u003eUna Filosofía del Diseño de Software por John Ousterhout\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e","url":"https://ropensci.org/es/blog/2024/02/22/beautiful-code/","date_published":"2024-02-22T00:00:00+00:00","date_modified":"2025-09-18T13:43:57-03:00"},{"id":"https://doi.org/10.59350/9jv2g-dvq74","title":"¡Cállate, que me desesperas! Control de la verbosidad en los paquetes","language":"es","authors":[{"name":"Mark Padgham","url":"https://orcid.org/0000-0003-2172-5265","avatar":"https://ropensci.org/img/team/mark-padgham.jpg","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator"]}],"tags":["desarrollo de paquetes"],"content_html":"\u003cp\u003eRecientemente agregamos un nuevo párrafo en la versión de desarrollo de nuestra guía de desarrollo\u003c/p\u003e\u003cp\u003eOfrece a las personas que usan tus paquetes una forma de excluirse de la verbosidad, preferiblemente a nivel de paquete: haz que la creación de mensajes dependa de una variable u opción de entorno (como \u003ca href=\"https://usethis.r-lib.org/reference/ui.html?q=usethis.quiet#silencing-output\"\u003e\u0026ldquo;usaresto.silencioso\u0026rdquo;\u003c/a\u003e en el paquete usethis), en lugar de un parámetro de la función. El control de los mensajes podría ser a varios niveles (\u0026ldquo;ninguno\u0026rdquo;, \u0026ldquo;informar\u0026rdquo;, \u0026ldquo;depurar\u0026rdquo;) en lugar de ser lógico (ningún mensaje / todos los mensajes). El control de la verbosidad es útil tanto para usuarios y usuarias finales como para las pruebas. Puedes encontrar más comentarios interesantes en \u003ca href=\"https://github.com/tidyverse/design/issues/42\"\u003eeste \u003cem\u003eissue\u003c/em\u003e de la guía de diseño de tidyverse\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eComplementa el \u003ca href=\"https://stats-devguide.ropensci.org/standards.html#output-verbosity\"\u003erequisito de revisión del software estadístico para software bayesiano\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eEl objetivo de esta nota técnica es reforzar el nuevo requisito, presentar algunos enfoques para el control de la verbosidad y recoger las opiniones de la comunidad.\u003c/p\u003e\u003ch2 id=\"control-de-la-verbosidad-a-nivel-de-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#control-de-la-verbosidad-a-nivel-de-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eControl de la verbosidad a nivel de paquete\u003c/h2\u003e\u003cp\u003eControlar la verbosidad a nivel de función significa que para silenciar los mensajes hay que escribir código como\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003emypackage\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003emy_function\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ething\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003everbose\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eFALSE\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003emypackage\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003emy_function\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ething\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003everbose\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eFALSE\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ez\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003emypackage\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003emy_function\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ething\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003everbose\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eFALSE\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAunque se trata de un patrón muy extendido y bastante claro, tiene el inconveniente de introducir desorden en las llamadas a funciones.Además, tener el control de la verbosidad a nivel de función suele requerir que otros paquetes que utilicen alguna de esas funciones codifiquen la verbosidad (o la dejen en valores predeterminados e inmutables).Esto no sólo hace que el control de la verbosidad sea difícil o incluso imposible, sino que también impide una depuración eficaz.\u003c/p\u003e\u003cp\u003eControlar la verbosidad a nivel de paquete significa que se escribe:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eoptions\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003emypackage.quiet\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eTRUE\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# or rlang::local_options() or withr::local_options()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003emypackage\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003emy_function\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ething\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ey\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003emypackage\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003emy_function\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ething\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ez\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003emypackage\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003emy_function\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ething\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e¡El control a nivel de paquete es mucho más fácil!\u003c/p\u003e\u003ch3 id=\"cómo-implementar-el-control-de-la-verbosidad-a-nivel-de-paquete-en-tu-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-implementar-el-control-de-la-verbosidad-a-nivel-de-paquete-en-tu-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo implementar el control de la verbosidad a nivel de paquete en tu paquete\u003c/h3\u003e\u003cp\u003eUna opción :sweat_smile: sería escribir tu propia envoltura para mensajes como,\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epkg_message\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003e...\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003egetOption\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;mypackage.quiet\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"kc\"\u003eFALSE\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"kr\"\u003ereturn\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emessage\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003e...\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAfortunadamente, hay otros paquetes que se encargan en gran medida de esto por ti, en particular \u003ca href=\"https://rlang.r-lib.org\"\u003erlang\u003c/a\u003e y \u003ca href=\"https://cli.r-lib.org\"\u003ecli\u003c/a\u003e que incluyen sus propios equivalentes de las funciones de R base \u003ca href=\"https://stat.ethz.ch/R-manual/R-devel/library/base/html/message.html\"\u003e\u003ccode\u003emessage()\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://stat.ethz.ch/R-manual/R-devel/library/base/html/warning.html\"\u003e\u003ccode\u003ewarning()\u003c/code\u003e\u003c/a\u003e y \u003ca href=\"https://stat.ethz.ch/R-manual/R-devel/library/base/html/stop.html\"\u003e\u003ccode\u003estop()\u003c/code\u003e\u003c/a\u003e.(Las funciones cli llaman en última instancia a las versiones rlang, así que realmente no importa cuál utilices).Por supuesto, las funciones básicas de R están perfectamente bien, y sin duda pueden utilizarse.Las alternativas simplemente hacen más cómodos algunos aspectos, como:\u003c/p\u003e\u003col\u003e\u003cli\u003eEl \u003ca href=\"https://blog.r-hub.io/2023/11/30/cliff-notes-about-cli/#how-to-make-cli-quiet-or-not\"\u003epaquete cli\u003c/a\u003e se basa en las funciones de rlang pero con un formato en pantalla mejorado y amplias opciones de personalización; y\u003c/li\u003e\u003cli\u003eLa verbosidad puede controlarse en cualquier paquete que utilice rlang o cli mediante \u003ca href=\"https://rlang.r-lib.org/reference/abort.html#muffling-and-silencing-conditions\"\u003evariables de entorno globales\u003c/a\u003e.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eLa segunda ventaja es especialmente relevante para el tema de este post.Basta con sustituir cualquier llamada a \u003ccode\u003emessage()\u003c/code\u003e o \u003ccode\u003ewarning()\u003c/code\u003e por el equivalente en rlang o cli permite a los usuarios suprimir globalmente los mensajes y advertencias:\u003c/p\u003e\u003cul\u003e\u003cli\u003eSustituye \u003ccode\u003emessage()\u003c/code\u003e por \u003ccode\u003erlang::inform()\u003c/code\u003e o \u003ccode\u003ecli::cli_inform()\u003c/code\u003e. Ahora se puede silenciar con \u003ccode\u003eoptions(rlib_message_verbosity = \u0026quot;quiet\u0026quot;)\u003c/code\u003e.\u003c/li\u003e\u003cli\u003eSustituye \u003ccode\u003ewarning()\u003c/code\u003e por \u003ccode\u003erlang::warn()\u003c/code\u003e o \u003ccode\u003ecli::cli_warn()\u003c/code\u003e. Ahora se puede silenciar con \u003ccode\u003eoptions(rlib_warning_verbosity = \u0026quot;quiet\u0026quot;)\u003c/code\u003e.\u003c/li\u003e\u003cli\u003eSustituye \u003ccode\u003estop()\u003c/code\u003e por \u003ccode\u003erlang::abort()\u003c/code\u003e o \u003ccode\u003ecli::cli_abort()\u003c/code\u003e. Abortar no tiene opción de silenciamiento.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTen en cuenta que también existe una forma \u0026ldquo;rlang\u0026rdquo; de establecer opciones, la opción \u003ca href=\"https://rlang.r-lib.org/reference/local_options.html\"\u003e\u003ccode\u003erlang::local_options()\u003c/code\u003e función\u003c/a\u003e (o la misma función en \u003ca href=\"https://withr.r-lib.org/reference/with_options.html\"\u003eel paquete withr\u003c/a\u003e).Al igual que con los mensajes anteriores, la versión de R base está bien; las versiones rlang/withr simplemente implementan algunas funciones adicionales.En concreto, las opciones básicas de R siempre se establecen globalmente, mientras que las opciones locales de rlang se establecen dentro del \u003ca href=\"http://adv-r.had.co.nz/Environments.html#env-basics\"\u003eentorno actual de R\u003c/a\u003e y se desactivan al salir de ese entorno.El código de la última sección de abajo proporciona un ejemplo de las ventajas de este enfoque.\u003c/p\u003e\u003cp\u003ePor último, el \u003ccode\u003erlang::local_options()\u003c/code\u003e puede utilizarse para establecer \u003ccode\u003erlib_message_verbosity = \u0026quot;quiet\u0026quot;\u003c/code\u003e en los archivos de prueba, para suprimir el muro de texto que suele aparecer al ejecutar las pruebas.Este muro de texto puede ser un obstáculo al intentar depurar los registros de pruebas; utilizar rlang o cli para los mensajes y advertencias proporciona una forma sencilla de controlar activamente los registros de pruebas y mejorar la depuración.\u003c/p\u003e\u003ch2 id=\"un-paso-más-allá-múltiples-niveles-de-verbosidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-paso-m%c3%a1s-all%c3%a1-m%c3%baltiples-niveles-de-verbosidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn paso más allá: múltiples niveles de verbosidad\u003c/h2\u003e\u003cp\u003eEl control de la verbosidad suele implementarse como una elección binaria, normalmente controlada por un parámetro lógico, como \u003ccode\u003everbose = FALSE\u003c/code\u003e o \u003ccode\u003equiet = TRUE\u003c/code\u003e.En \u003ccode\u003erlib_message_verbosity\u003c/code\u003e descrita anteriormente sólo tiene dos niveles primarios, \u0026ldquo;silencioso\u0026rdquo; y \u0026ldquo;detallado\u0026rdquo;.Ten en cuenta que no son parámetros lógicos, sino variables de caracteres.El comportamiento por defecto (de \u0026ldquo;verboso\u0026rdquo;) también se puede anular un parámetro adicional en la opción \u003ccode\u003erlang_inform/warn\u003c/code\u003e funciones, \u003ccode\u003e.frequency\u003c/code\u003e que controla la frecuencia con la que se emiten los mensajes.Esto es especialmente útil para emitir mensajes sólo una vez por sesión de R, configurando \u003ccode\u003efrequency = \u0026quot;once\u0026quot;\u003c/code\u003e.En términos más generales, a menudo puede ser útil implementar distintos niveles de verbosidad para personas usuarias y para personas que desarrollan, como \u0026ldquo;silencioso\u0026rdquo;, \u0026ldquo;informar\u0026rdquo; y \u0026ldquo;depurar\u0026rdquo;.Esta práctica corresponde a la idea de dejar un \u003ca href=\"https://speakerdeck.com/jennybc/object-of-type-closure-is-not-subsettable?slide=77\"\u003epanel de acceso\u003c/a\u003e para simplificar la resolución de problemas en el futuro.Aunque sólo se implementen dos niveles, es fácil ampliar los niveles en el futuro si ya están definidos como cadenas de caracteres; cambiar el control de la verbosidad de lógico (doble nivel) a multinivel es más complejo, y puede evitarse no utilizando indicadores lógicos en primer lugar.\u003c/p\u003e\u003ch3 id=\"verborreico-o-silencioso\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#verborreico-o-silencioso\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿\u0026ldquo;Verborreico\u0026rdquo; o \u0026ldquo;silencioso\u0026rdquo;?\u003c/h3\u003e\u003cp\u003e\u0026ldquo;Verborreico\u0026rdquo;.Porque \u0026ldquo;silencioso\u0026rdquo; siempre significa que no hay que hacer nada.Pero como el código hace cosas, esto se traduce en tener que comprobar si un parámetro \u0026ldquo;silencioso\u0026rdquo; es de alguna manera \u003cem\u003eno\u003c/em\u003e silencioso.Eso es lógica negativa, que hace que el código sea más difícil de leer.La lógica positiva es mucho más clara y menos propensa a errores: \u003ccode\u003eif (verbose) { ... do something }\u003c/code\u003e como se demuestra en la sección siguiente.\u003c/p\u003e\u003ch2 id=\"sección-extra-recuperar-el-control-a-nivel-de-paquete-de-las-opciones-globales\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#secci%c3%b3n-extra-recuperar-el-control-a-nivel-de-paquete-de-las-opciones-globales\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSección extra: Recuperar el control a nivel de paquete de las opciones globales\u003c/h2\u003e\u003cp\u003eUn paquete que utilice paquetes del tipo rlang/cli/withr para emitir y controlar los mensajes responderá a las opciones locales (o globales) del mismo modo que todos los demás paquetes que utilicen este sistema.De este modo, esas opciones se convierten en verdaderamente globales, ya que son compartidas y comprendidas por múltiples paquetes.Un problema de esto es que a menudo los usuarios pueden querer depurar sólo su propio paquete, dejando tranquilos a todos los demás paquetes.Esto requiere de nuevo gestores de mensajes personalizados, como el siguiente (recuerda que el segundo parámetro del comando \u003ccode\u003egetOption()\u003c/code\u003e es el predeterminado para los casos en que no se haya establecido dicha opción):\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epkg_message\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003e...\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eis_verbose_mode\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003egetOption\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;mypackage.verbose\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;quiet\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;verbose\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eis_verbose_mode\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"c1\"\u003e# Options local to this function only; reset on exit!\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003elocal_options\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003erlib_message_verbosity\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;verbose\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003einform\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003e...\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEsto permite un comportamiento como el siguiente\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003epkg_message\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;normal message\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003elocal_options\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003erlib_message_verbosity\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;quiet\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003epkg_message\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;suppressed message\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003elocal_options\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003emypackage.verbose\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;verbose\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003epkg_message\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;reawakened message\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003enormal messagereawakened message\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eY mis opciones locales de verbosidad a nivel de paquete pueden entonces anular los controles de verbosidad de rlang.\u003c/p\u003e\u003ch3 id=\"ampliar-los-niveles-de-verbosidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ampliar-los-niveles-de-verbosidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAmpliar los niveles de verbosidad\u003c/h3\u003e\u003cp\u003ePor último, demostraremos brevemente cómo se puede ampliar el control de dos niveles de verbosidad rlang/cli de \u0026ldquo;silencioso\u0026rdquo;/\u0026ldquo;detallado\u0026rdquo; para implementar un nivel de \u0026ldquo;depuración\u0026rdquo; en tu propio paquete.Esto requiere de nuevo un gestor de mensajes personalizado, ligeramente modificado con respecto al anterior para emitir sólo mensajes de depuración:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003edebug_msg\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003e...\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eis_debug_mode\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003egetOption\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;mypackage.verbose\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;quiet\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;debug\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"kr\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eis_debug_mode\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003elocal_options\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003erlib_message_verbosity\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;verbose\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003einform\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"kc\"\u003e...\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# or rlang::warn, cli::cli_alert_info, whatever\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eQue habilite este comportamiento:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003emy_fn\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"c1\"\u003e# ... do stuff\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003edebug_msg\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003epaste0\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;\u0026#39;x\u0026#39; has wrong value: \u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003emy_fn\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# no message issued\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003elocal_options\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003erlib_message_verbosity\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;verbose\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003emy_fn\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# still not issued\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003erlang\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003elocal_options\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003emypackage.verbose\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;debug\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003emy_fn\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e# debug message is issued!\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e\u0026#39;x\u0026#39; has wrong value: 1\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn esta nota técnica hemos explicado nuestro nuevo requisito de que el control de la verbosidad se realice a nivel de paquete y no de función, mediante la configuración de una opción por parte de los usuarios.También presentamos la aspiración de tener el control de la verbosidad como una opción entre \u003cem\u003egrados\u003c/em\u003e de verbosidad, y mostramos cómo eso permite refinar el control de la verbosidad en el futuro desarrollo de paquetes.Ahora ve a hacer ruido, ¡pero asegúrate de que puedes controlarlo!\u003c/p\u003e\u003cp\u003e¿Cómo se implementa el control de la verbosidad en los paquetes que desarrollas o que te gusta utilizar?¿Tienes algún comentario o pregunta?Por favor, no guardes silencio \u0026#x1f609;\u003c/p\u003e","url":"https://ropensci.org/es/blog/2024/02/06/control-vervosidad-paquetes/","date_published":"2024-02-06T00:00:00+00:00","date_modified":"2025-12-02T14:53:54-03:00"},{"id":"https://doi.org/10.59350/v3rfc-ct751","title":"Participación  Latinoamérica en el Programa de Campeonas y Campeones de rOpenSci","language":"es","authors":[{"name":"Beatriz Milz","url":"https://orcid.org/0000-0002-3064-4486","avatar":"https://github.com/beatrizmilz.png","_role":["author"]},{"name":"Carolina Pradier","url":"https://ropensci.org/es/author/carolina-pradier/","avatar":"https://github.com/caropradier.png","_role":["author"]},{"name":"Cesar Luis Aybar Camacho","url":"https://ropensci.org/es/author/cesar-luis-aybar-camacho/","avatar":"https://github.com/csaybar.png","_role":["author"]},{"name":"Elio Campitelli","url":"https://ropensci.org/es/author/elio-campitelli/","avatar":"https://ropensci.org/img/team/elio-campitelli.jpg","_role":["author"]},{"name":"Haydée Svab","url":"https://ropensci.org/es/author/hayd%C3%A9e-svab/","avatar":"https://github.com/hsvab.png","_role":["author"]},{"name":"Marcos Prunello","url":"https://ropensci.org/es/author/marcos-prunello/","avatar":"https://github.com/mpru.png","_role":["author"]},{"name":"Mauro Lepore","url":"https://orcid.org/0000-0002-1986-7988","avatar":"https://ropensci.org/img/team/mauro-lepore.jpg","_role":["author"]},{"name":"Pao Corrales","url":"https://orcid.org/0000-0003-1923-9129","avatar":"https://ropensci.org/img/team/paola-corrales.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["campeones","comunidad"],"content_html":"\u003cp\u003eLas personas \u003cem\u003ecampeonas\u003c/em\u003e de una comunidad son \u003cem\u003epersonas que asumen una mayor responsabilidad en el éxito, la sostenibilidad y/o el funcionamiento de una comunidad\u003c/em\u003e.\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e rOpenSci desarrolla un \u003ca href=\"/champions/\"\u003eprograma de campeones y campeonas\u003c/a\u003e enfocado y pensado para que participen personas que pertenecen a grupos histórica y sistemáticamente excluidos de las comunidades de software abierto y de software de investigación. Con una duración de doce meses, la iniciativa incluye capacitación en cohortes, el desarrollo de un proyecto y tutorías individuales.\u003c/p\u003e\u003cp\u003eEl programa ya tuvo una cohorte y este 2024 inicia el segundo grupo.  En este articulo, presentamos a todas las personas de latinoamerica que participaron de la primera cohorte del programa, que roles tuvieron y que proyecto estan desarrollando, para animar aún más participacion en el programa. 😄 🏆\u003c/p\u003e\u003cp\u003eEl programa tiene una fuerte influencia latinoamericana. De los 10 campeones y 10 mentores de la primera cohorte, cinco y tres son de Latinoamérica, respectivamente. Además, tres personas de la región han dictado capacitaciones y quien lidera el programa también es de la región. Para las revisiones de software por pares en español, han participado personas de latinoamerica en el proceso con roles de edición y de revisión.\u003c/p\u003e\u003ch2 id=\"proyectos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#proyectos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eProyectos\u003c/h2\u003e\u003cp\u003eEl programa prevé tres tipos de proyectos: crear un nuevo paquete, pasar por la revisión con un paquete de R que ya hayan desarrollado o revisar un paquete.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/author/carolina-pradier/\"\u003eCarolina Pradier\u003c/a\u003e de Argentina trabajó sobre el paquete \u003ca href=\"https://docs.ropensci.org/eph/\"\u003eeph\u003c/a\u003e el cual facilita tiene por objeto facilitar el trabajo de quienes usan datos de la Encuesta Permanente de Hogares - INDEC y deseen procesar datos de la misma usando R. Carolina agregó funcionalidad al paquete, redujo la cantidad de dependencias, mejoró los mensajes de error e incrementó la cobertura de tests antes de enviar el paquete a revisión. Su paquete ya forma parte de la suite rOpenSci tras una \u003ca href=\"https://github.com/ropensci/software-review/issues/593\"\u003erevisión por pares en español\u003c/a\u003e y fue \u003ca href=\"https://cran.r-project.org/web/packages/eph/index.html\"\u003epublicado en CRAN\u003c/a\u003e. El editor fue Mauro Lepore y las revisoras fueron \u003ca href=\"https://github.com/guadag12\"\u003eGuadalupe Gonzalez\u003c/a\u003e y \u003ca href=\"https://github.com/lidefi87\"\u003eDenisse Fierro\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/author/cesar-luis-aybar-camacho/\"\u003eCesar Aybar\u003c/a\u003e de Perú, desarrolló el paquete \u003ca href=\"https://r-earthengine.com/rgeeExtra/index.html\"\u003ergeeExtra\u003c/a\u003e que extiende las funcionalidades de {rgee} para poder acceder y procesar información espacial de sensores remotos con una sintaxis amigable para usuarios de R. Cesar trabajó en agregar funcionalidades y reemplazó las dependencias de espaciales que serán retirados. Su paquete está en \u003ca href=\"https://github.com/ropensci/software-review/issues/608\"\u003eproceso de revisión\u003c/a\u003e por \u003ca href=\"https://github.com/zackarno\"\u003eZack\u003c/a\u003e y \u003ca href=\"https://nmorandeira.netlify.app\"\u003eNatalia Morandeira\u003c/a\u003e con Mauro Lepore como editor.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/author/hayd%C3%A9e-svab/\"\u003eHaydée Svab\u003c/a\u003e de Brazil, desarrolló un nuevo paquete llamado \u003ca href=\"https://github.com/hsvab/odbr\"\u003eodbr\u003c/a\u003e que permite acceder y procesar datos de las encuestas de origen y destino (od) de Brasil e implemente muchos de los algoritmos que Haydée desarrolló para su tesis de maestría. \u003ca href=\"https://cran.r-project.org/web/packages/odbr/index.html\"\u003eEl paquete fue publicado en CRAN\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/author/marcos-prunello/\"\u003eMarcos Prunello\u003c/a\u003e de Argentina, trabajó sobre su paquete \u003ca href=\"https://mpru.github.io/karel/\"\u003ekarel\u003c/a\u003e, el cual implementa en R a \u003cem\u003eKarel the robot\u003c/em\u003e, una herramienta útil para enseñar conceptos introductorios sobre programación de una manera interactiva y divertida, mediante la escritura de programas para que Karel complete tareas. Además el paquete provee funciones, argumentos, mensajes y documentación tanto en inglés como en español, proponiendo una infraestructura que permite agregar más idiomas. El paquete está en \u003ca href=\"https://github.com/ropensci/software-review/issues/620\"\u003eproceso de revisión\u003c/a\u003e, ¡siendo el primero en tener una revisión bilingüe!. Mauro Lepore es nuevamente el editor y se están buscando las personas que revisarán.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/author/pao-corrales/\"\u003ePaola Corrales\u003c/a\u003e de Argentina, desarrolló el paquete \u003ca href=\"https://github.com/AgRoMeteorologiaINTA/agroclimatico\"\u003eagroclimatico\u003c/a\u003e que calcula índices climáticos e hidrológicos y estadísticas a partir de datos ordenados, incluida una función para graficar resultados georreferenciados e información cartográfica. Paola reemplazó dependencias, mejoró los mensajes de error y aumentó la cobertura de tests. Tuvo que tomar decisiones dificiles como cambiar el nombre del paquete y de alguna de las funciones para evitar que se confunda con otros paquetes existentes. Agroclimatico está en \u003ca href=\"https://github.com/ropensci/software-review/issues/599\"\u003eproceso de revisión\u003c/a\u003e en español. El editor es \u003ca href=\"https://github.com/Pakillo\"\u003eFrancisco Rodriguez-Sanchez\u003c/a\u003e y \u003ca href=\"https://github.com/VeruGHub\"\u003eVerónica Cruz-Alonso\u003c/a\u003e es la revisora.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"entrenamiento\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#entrenamiento\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEntrenamiento\u003c/h2\u003e\u003cp\u003eEl programa también ofreció entrenamiento en forma de talleres y mentorías individuales.\u003c/p\u003e\u003cp\u003e\u003ca href=\"/author/beatriz-milz/\"\u003eBeatriz Milz\u003c/a\u003e de Brazil, \u003ca href=\"/author/mauro-lepore/\"\u003eMauro Lepore\u003c/a\u003e de Argentina y \u003ca href=\"/author/elio-campitelli/\"\u003eElio Campitelli\u003c/a\u003e de Argentina, son las personas de Latinoamérica que participaron del programa siendo mentores. Su rol fue el de guiar, conectar, inspirar y dar feedback a sus campeones/as sobre su proyecto.\u003c/p\u003e\u003cp\u003eAdemás, Mauro dictó un \u003ca href=\"https://ropensci.org/events/2023-04-04-how-ropensci-review/\"\u003etaller sobre el funcionamiento del proceso de revisión de software\u003c/a\u003e de rOpenSci y contestó muchas preguntas en base a su experiencia de haber cumplido distintos roles en ese proceso. Yani Bellini Saibene dictó la \u003ca href=\"https://ropensci.org/events/2023-03-01-mentor-orientation/\"\u003ecapacitación para mentores\u003c/a\u003e, basada en los materiales y experiencia del programa Mozilla Open Leaders. Finalmente, Pao Corrales desarrolló y dictó un taller con asistencia de Yanina para las personas que aplicaron y no fueron seleccionadas por el programa sobre el \u003ca href=\"https://ropensci.org/events/2023-05-19-developing-software-together/\"\u003euso de Git y GitHub en el desarrollo colaborativo de proyectos de software\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"lecciones-aprendidas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lecciones-aprendidas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLecciones aprendidas\u003c/h2\u003e\u003cp\u003eEl programa brinda herramientas y espacio para que tanto campeones como mentores puedan desarrollar estos proyectos, ganando experiencias y mejorando sus competencias durante el proceso, que volverán a la comunidad latinoamericana de R por distintos medios. En el segundo semestre del programa campeonas y campeones deben compartir lo que aprendieron con la comunidad, contribuyendo a aumentar material actualizado en español y portugués sobre el desarrollo de paquetes y la revisión de software por pares.\u003c/p\u003e\u003cp\u003eEs una buena oportunidad para desarrollar un paquete de R (o mejorar uno propio) bajo la guía personalizada de mentores y con el soporte de una comunidad. El aspecto formal de las etapas del programa ayuda a tener foco en la tarea y poder completarla en un tiempo razonable.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEsperamos que más personas de nuestra región se sumen a este programa\u003c/strong\u003e, tanto como mentores, docentes o campeones/as y a rOpenSci en los diversos roles de los que puede ser parte. Para conocer más sobre cómo contribuir a rOpenSci se puede consultar la \u003ca href=\"https://contributing.ropensci.org/\"\u003eguía de contribución\u003c/a\u003e.\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEste resumen fue aceptado para la conferencia \u003ca href=\"https://latin-r.com/cronograma/programa/presentaciones.html\"\u003eLatinR 2023\u003c/a\u003e que se realizó en Montevideo, Uruguay y fue \u003ca href=\"/events/latinr-champions-2023/\"\u003epresentado por Haydée Svab en representación de todos los autores\u003c/a\u003e.\u003c/p\u003e\u003c/blockquote\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eThe CSCCE Community Participation Model - Exploring the Champion mode. (2021). Woodley and Pratt doi 10.5281/zenodo.5275270\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2024/01/09/champions-program-latinr/","date_published":"2024-01-09T00:00:00+00:00","date_modified":"2025-04-08T11:17:46+02:00"},{"id":"https://doi.org/10.59350/m6t40-y1z49","title":"Divide y venceras: de polar al Polarverse","language":"es","authors":[{"name":"Juan Pablo Ruiz Nicolini","url":"https://orcid.org/0000-0002-3138-6343","avatar":"https://ropensci.org/img/community/ruiz-nicolini.jpg","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["editor"]}],"tags":["comunidad","paquetes","desarrollo"],"content_html":"\u003cblockquote\u003e\u003cp\u003e\u003cem\u003e\u0026ldquo;Solo soy un politólogo, parado frente a la consola de R , pidiendole que le ayude a terminar una tesis\u0026rdquo;\u003c/em\u003e\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eCorría el año 2015, un estudiante de maestría de Ciencia Política tenía que procesar datos para entregar su tésis y decidió aprovechar la oportunidad para aprender a usar R. Al largo y tortuoso camino del requisito académico se agregó un grado de dificultad extra: incorporar un software de programación desde cero, con una curva de aprendizaje algo empinada.\u003c/p\u003e\u003cp\u003eAños después \u003ca href=\"https://github.com/TuQmano/evoteSALTA_UTDT\"\u003ereviso scripts del código de la tesis\u003c/a\u003e y me sonrío al ver extensas líneas de código para recodificar variables con esta una estructura como esta:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#PARTY LABELS A GOBERNADOR\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 0 VOTOS EN BLANCO\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 1 WAYAR GOBERNADOR  (WALTER WAYAR)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 2 COALICION CIVICA (ARI) (ALBERTO ROLANDO TONDA)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 3 FRENTE JUSTICIALISTA RENOVADOR DE LA VICOTRIA (JUAN MANUEL URTUBEY)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 4 FRENTE OLMEDO GOBERNADOR  (ALFREDO OLMEDO)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 5 MORELLO GOBERNADOR / PROYECTO SUR  (CARLOS FERNANDO MORELLO)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 6 PARTIDO OBRERO (CLAUDIO DEL PLA)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 7 UNION CIVICA RADICAL  (DIEGO MARINO)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 8 MIJD (CARLOS ARIEL FERNANDEZ)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#RECODE TODOS LOS PARTY LABELS SEGUN ADHESIONES A LISTAS CON CANDIDATOS A GOBERNADOR\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eListaF[\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eLista\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;VOTOS EN BLANCO\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eYear\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e2011\u003c/span\u003e\u003cspan class=\"n\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e\u003cspan class=\"m\"\u003e9999\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eListaF[\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eLista\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;AGRUPACION CRECIMIENTO SOLIDARIO\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eYear\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e2011\u003c/span\u003e\u003cspan class=\"n\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e\u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eListaF[\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eLista\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;AGRUPACION DEMOCRATICA COMUNAL\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eYear\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e2011\u003c/span\u003e\u003cspan class=\"n\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e\u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eListaF[\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eLista\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;AGRUPACION DEMOCRATICA TARTAGAL (ADETA)\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eYear\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e2011\u003c/span\u003e\u003cspan class=\"n\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e\u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eListaF[\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eLista\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;AGRUPACION FEDERALISTA POPULAR MOSCONI\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eYear\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e2011\u003c/span\u003e\u003cspan class=\"n\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eListaF[\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eLista\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;AGRUPACION FEDERALISTA POPULAR TARTAGAL\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eSALTA\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003eYear\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e2011\u003c/span\u003e\u003cspan class=\"n\"\u003e]\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e\u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eMirando en restropectiva, como a mis scripts, aprender R fue \u003cstrong\u003ela mejor decisión que tomé en mi carrera profesional.\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eR desde entonces en una herramienta fundamental de mi día a día. Lo es en el ámbito académico y \u003ca href=\"https://tuqmano.github.io/geo_utdt/\"\u003ecomo docente universitario\u003c/a\u003e; en mis trabajos como \u003ca href=\"https://twitter.com/menta_arg\"\u003econsultor y analista\u003c/a\u003e; en mis \u003ca href=\"https://ropensci.org/es/blog/2022/11/23/r-universe-stars-1-es/\"\u003etareas como funcionario público\u003c/a\u003e; en mis ratos libres, \u003ca href=\"https://twitter.com/TuQmano/status/1426882408574595072\"\u003ecomo un pasatiempo\u003c/a\u003e; y en mi trabajo actual, coordinando el equipo de Datos de \u003ca href=\"https://fund.ar/\"\u003eFundar\u003c/a\u003e, un \u003cem\u003ethink tank\u003c/em\u003e que estudia y elabora políticas públicas para  el desarrollo sostenible e inclusivo de Argentina.\u003c/p\u003e\u003cp\u003eDe todas las cualidades que tiene R, \u003cstrong\u003ela comunidad\u003c/strong\u003e fue el factor determinante en mi recorrido con este lenguaje de programación.\u003c/p\u003e\u003cp\u003eAl tiempo que finalizaba el primer paso de la tesis, me enteraba de la organización de la primera \u003ca href=\"https://latinr.org/\"\u003eConferencia Latinoamericana de R para I+D (LatinR)\u003c/a\u003e, comunidad a la que le debo mi segundo (y tercero\u0026hellip; y enesimo) paso en mi relación con R. En la primera conferencia presenté casos de uso para análisis político desde R, implementando \u003ca href=\"https://www.researchgate.net/publication/327382101_Geofaceting_Argentina_LatinR_2018\"\u003egrillas de Argentina para usar con ggplot como si fueran mapas con geofacet\u003c/a\u003e. En la segunda conferencia, presentamos la \u003cem\u003eShiny App\u003c/em\u003e \u003ca href=\"http://inteligenciaelectoral.mentacomunicacion.com.ar/\"\u003eInteligencia Electoral\u003c/a\u003e para el análisis de resultados electorales de Argentina y pude participar del taller  \u003cem\u003eDesarrollo de Paquetes\u003c/em\u003e con \u003ca href=\"https://hadley.nz/\"\u003eHadley Wickham\u003c/a\u003e. Fue éste el punto de partida ideal para empezar con la idea de empaquetar código yo mismo.\u003c/p\u003e\u003cfigure class=\"center\"\u003e\u003cimg src=\"/blog/2023/12/05/divide_and_you_will_win_from_polar_to_the_polarverse/hex_joint.png\"\t\t\talt=\"el hex logo del paquete de R geofecetAR a la izquierda y el de polAr a la derecha\" width=\"600\"\u003e\u003c/figure\u003e\u003ch2 id=\"el-nacimiento-de-polar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-nacimiento-de-polar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl nacimiento de polAr\u003c/h2\u003e\u003cp\u003eCon el objetivo de llegar a presentar en la tercera conferencia de LatinR, desarrollé \u003ca href=\"https://electorarg.github.io/geofaceteAR/\"\u003egeofacetAR\u003c/a\u003e, una versión pulida y con funciones para trabajar con el diseño de grillas como si fueran mapas de Argentina.\u003c/p\u003e\u003cp\u003eSe desató la pandemia por el Covid19. Y el aprendizaje de cómo desarrollar paquetes, en tiempos de confinamiento y muchas horas frente a la computadora, convirtieron el trabajo de procesamiento de datos electorales, de mi vida como politólogo y consultor, en un nuevo paquete: \u003ca href=\"https://github.com/electorArg/polAr\"\u003epolAr\u003c/a\u003e; que el 16 de mayo de 2020 \u003ca href=\"https://twitter.com/CRANberriesFeed/status/1261597845808975872\"\u003eviajaba a CRAN\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"el-universo-polar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-universo-polar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl universo polAr\u003c/h2\u003e\u003cp\u003eSi bien originalmente el paquete buscaba facilitar el acceso y herramientas para el análisis de datos electorales en Argentina, con el tiempo se fueron integrando otros flujos de trabajo y fuentes de datos (geográficos, discursos presidenciales y votaciones legislativas), con un incremento de dependencias y dificultad para administrar cada vez más funciones. Esto fue un tema relevante que \u003ca href=\"https://www.youtube.com/watch?v=UYvSv8StDa8\u0026amp;t=10872s\"\u003ediscutimos en el panel Desarrollo de paquetes durante la tercera conferencia de LatinR (2020)\u003c/a\u003e.\u003c/p\u003e\u003cfigure\u003e\u003ca href=\"https://www.youtube.com/watch?v=UYvSv8StDa8\u0026amp;t=10872s\"\u003e\u003cimg src=\"/blog/2023/12/05/divide_and_you_will_win_from_polar_to_the_polarverse/latinr-rpkg.png\"\t\t\talt=\"LatinR Confernce (2022) - Mesa Redonda de Desarrollo de Paquetes\"\u003e\u003c/a\u003e\u003c/figure\u003e\u003cp\u003epolAr había alcanzado las 4000 descargas cuando recibo un correo electrónico del equipo de CRAN informando que debía ajustar una violación de política para que el paquete no fuera archivado. A pesar de enviar una nueva versión el paquete fue archivado sin una clara razón.\u003c/p\u003e\u003cfigure\u003e\u003ca href=\"https://github.com/politicaargentina/polarverse\"\u003e\u003cimg src=\"/blog/2023/12/05/divide_and_you_will_win_from_polar_to_the_polarverse/polarverse.png\"\t\t\talt=\"El polarverse\"\u003e\u003c/a\u003e\u003c/figure\u003e\u003cp\u003eSí la conversación en LatinR nos hizo pensar en la separación en múltiples paquetes como posibilidad, el archivado de CRAN nos dio la oportunidad de hacerlo. Le decisión fue generar flujos independientes de trabajo; estrategia que posibilitó poder ir avanzando con distintos ritmos, tomando decisiones específicas para cada tema, procurando abordarlo al mismo tiempo como parte de un conjunto, emulando el paradigma \u003cem\u003eTidyverse\u003c/em\u003e: una filosofía y gramática de funcionamiento similar para la \u003ca href=\"https://tuqmano.ar/2021/06/05/de-polar-al-polarverse/\"\u003ecolección de paquetes\u003c/a\u003e. El objetivo fue mejorar el desarrollo de aquello que derivó en el archivado de \u003ccode\u003e{polAr}\u003c/code\u003e.\u003c/p\u003e\u003cp\u003ePresentamos \u0026ldquo;\u003ca href=\"https://github.com/TuQmano/latinr2021/blob/master/divide_reinaras/divide_reinaras.pdf\"\u003eDivide y Vencerás: de {polAr} al polarverse\u003c/a\u003e\u0026rdquo; en la cuarta conferencia de LatinR, mostrando este nuevo universo con cinco paquetes:\u003c/p\u003e\u003col\u003e\u003cli\u003e\u003cp\u003e📦 \u003ca href=\"https://politicaargentina.r-universe.dev/opinAr\"\u003eopinAr\u003c/a\u003e: da acceso a datos de opinión pública y de gobierno de Argentina a partir del Indice de Confianza en el Gobierno que publica mensualmente la Universidad Torcuato Di Tella.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e📦 \u003ca href=\"https://politicaargentina.r-universe.dev/electorAr\"\u003eelectorAr\u003c/a\u003e facilita el acceso datos electorales de Argentina (para distintos niveles y con diferente agregación espacial) y funciones para computar indicadores relevantes.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e📦 \u003ca href=\"https://politicaargentina.r-universe.dev/legislAr\"\u003elegislAr\u003c/a\u003e\u003ccode\u003e:\u003c/code\u003e permite descargar información desagregada de votaciones en las cámaras legislativas de Argentina, originadas por el proyecto \u003ca href=\"https://andytow.com/scripts/disciplina/index-d.html\"\u003eDécada Votada\u003c/a\u003e de Andy Tow.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e📦 \u003ca href=\"https://politicaargentina.r-universe.dev/discursAr\"\u003ediscursAr\u003c/a\u003e\u003ccode\u003e:\u003c/code\u003e pensado para obtener datos relativos a discursos políticos. En principio proveyendo acceso a discursos presidenciales en asambleas legislativas de inauguración de sesiones ordinarias.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e📦 \u003ca href=\"https://politicaargentina.r-universe.dev/geoAr\"\u003egeoAr\u003c/a\u003e: permite acceder a datos y herramientas para flujos de trabajo espaciales desde R. Una \u003ca href=\"https://github.com/TuQmano/latinr2023/blob/main/geoAr/geoAr.pdf\"\u003eponencia\u003c/a\u003e sobre el paquete fue aceptada para la \u003ca href=\"https://latinr.org/\"\u003esexta conferencia de LatinR\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eAdicionalmente trabajamos en una librería auxiliar llamada \u003ca href=\"https://politicaargentina.r-universe.dev/polArViz\"\u003epolarViz\u003c/a\u003e, para facilitar la tarea de visualización de los otros paquetes, y un metapaquete \u003ca href=\"https://politicaargentina.r-universe.dev/polArverse\"\u003epolArverse\u003c/a\u003eque emula el funcionamiento de tidyverse, para la carga del conjunto de librerías asociadas.\u003c/p\u003e\u003ch2 id=\"-encuentro-de-universos-el\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#-encuentro-de-universos-el\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e🌠 Encuentro de universos: \u003ca href=\"https://politicaargentina.r-universe.dev/builds\"\u003eel \u003cem\u003epolArverse\u003c/em\u003e en \u003cem\u003eR-Universe\u003c/em\u003e\u003c/a\u003e\u003c/h2\u003e\u003cp\u003eDurante este proceso incorporamos R-Universe en el flujo de trabajo. Nos proveyó un espacio autónomo y autoadministrado en el cual publicar estos nuevos paquetes (no ya simplemente como repositorios de GitHub) y es de gran ayuda para el chequeo en diferentes sistemas operativos y versiones de software. Sin duda R-Universe es una herramienta relevante para el mejor mantenimiento del polArverse.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/12/05/divide_and_you_will_win_from_polar_to_the_polarverse/politicaargentina-r-universe.png\"\t\t\talt=\"polAr R-Universe\"\u003e\u003c/figure\u003e\u003ch3 id=\"seguimos-dando-pasos-importantes-para-nuestro-universo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#seguimos-dando-pasos-importantes-para-nuestro-universo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSeguimos dando pasos importantes para nuestro universo:\u003c/h3\u003e\u003cp\u003eEn primer lugar, ¡volvimos a CRAN! En febrero de 2023 se envío geoAr que, como señalamos, permite acceder y facilitar el procesamiento de datos con relevancia espacial. Una versión en desarrollo (accesible desde r-universe) permite también interactuar con la \u003ca href=\"https://georef-ar-api.readthedocs.io/es/latest/\"\u003eAPI del Servicio de Normalización de Datos Geográficos de Argentina\u003c/a\u003e.\u003c/p\u003e\u003cp\u003ePor otro lado, incoporamos un histórico pendiente a la caja de herramientas polAr para trabajar con datos censales: \u003ca href=\"https://github.com/PoliticaArgentina/censAr\"\u003ecensAr\u003c/a\u003e. El paquete,  actualmente en desarrollo, está basado en el código de \u003ca href=\"https://docs.ropensci.org/censo2017/\"\u003ecenso2017\u003c/a\u003e, desarrollado por \u003ca href=\"https://ropensci.org/author/pach%C3%A1-aka-mauricio-vargas-sep%C3%BAlveda/\"\u003eMauricio \u0026ldquo;Pacha\u0026rdquo; Vargas\u003c/a\u003e y parte de la suite de rOpenSci.\u003c/p\u003e\u003ch2 id=\"mi-experiencia-como-desarrollador-de-software-con-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mi-experiencia-como-desarrollador-de-software-con-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMi experiencia como desarrollador de software con R\u003c/h2\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eEmpecé a trabajar con este lengüaje - o dialécto, \u003ca href=\"https://tuqmano.github.io/CienciaDeDatosCiPol/clases/clase1.html#12\"\u003ecomo gusta decir a un colega\u003c/a\u003e, a proposito del antecedente del S de \u003cem\u003eBell\u003c/em\u003e en la década de 1970- un poco por fortuna.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eRápidamente lo incorporé como herramienta de trabajo, en múltiples facetas: como analista, consultor, funcionario público y docente.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eLa comunidad de R - y en particular toda la experiencia alrededor de \u003cem\u003eLatinR\u003c/em\u003e- fueron un factor determinante para mi experiencia. Sin lugar a dudas facilitando mucho el proceso.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eCreo que es posible pensar en mejoras del proceso para hacer de CRAN un espacio mejor aún para el ecosistema R y hacer de la experiencia de desarrollo FOSS mas amena y predecible.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eEl surgimiento del proyecto \u003cem\u003eR-Universe\u003c/em\u003e para mejorar la experiencia de publicación y descubrimiento de paquetes desarrollados en R resulta muy valioso.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEl \u003cem\u003epolarverse\u003c/em\u003e fue un proyecto paralelo en el que trabajé en mis momentos libres y sin financiamiento. Surgió casi lúdicamente, como un experimento para aprender a desarrollar software. Probamos exitosamente la publicación en CRAN. Nos frustramos y enojamos. Aprendimos. Sumamos nuevas herramientas.\u003c/p\u003e\u003cp\u003eSeguimos avanzando. De a poco.  Ahora, con el apoyo y estimulo que supone en gran equipo de \u003ca href=\"https://fund.ar/\"\u003eFundar\u003c/a\u003e, en general, y del área de \u003ca href=\"https://fund.ar/area/datos/\"\u003edatos\u003c/a\u003e que me toca coordinar, en particular. \u0026ldquo;Lento, pero seguro\u0026rdquo;.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2023/12/05/2023-12-05-divide-y-venceras-de-polar-al-polarverse/","date_published":"2023-12-05T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/a74qt-e1w47","title":"El multiverso de rOpenSci","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","r-universe","entrevistas","estrellas del universo r"],"content_html":"\u003cp\u003eEl Universo R es utilizado por profesionales de distintos ámbitos, aunque todos persiguen el mismo objetivo: \u003cstrong\u003eofrecer sus paquetes de R de manera simple y accesible\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eDesde rOpenSci trabajamos para ofrecer herramientas que faciliten el acceso a datos y software de investigación generado con buenas prácticas de desarrollo de software y en una comunidad amigable. Con la plataforma Universo R básicamente buscamos presentar todo el universo #rstats para que cualquiera pueda encontrar el paquete más adecuado para resolver un problema.\u003c/p\u003e\u003cp\u003eEn el Universo R encontramos paquetes muy diversos. Desde equipos que analizan datos estadísticos en el estado argentino a investigaciones sobre el cerebro humano en Noruega.\u003c/p\u003e\u003cp\u003eEn este artículo resumimos las entrevistas de la serie \u003cem\u003eConociendo a las estrellas del universo R\u003c/em\u003e, les traemos cinco ejemplos de organizaciones y equipos que eligen el Universo R para facilitar el acceso y promover el intercambio de datos y software en comunidad.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cem\u003e\u003ca href=\"/es/blog/2022/11/23/r-universe-stars-1-es/\"\u003eSINTA: comunidad R, intercambiar y aprender\u003c/a\u003e\u003c/em\u003e. En esta entrevista repasamos la experiencia de trabajar con paquetes de R en el estado argentino. Desde el Ministerio de Turismo y Deporte trabajan para optimizar los flujos de trabajos en procesos abiertos y accesibles a todas las personas. Definen al Universo R como un “gran armario donde poner nuestras cajas de herramientas”.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003clink rel=\"stylesheet\" href=/css/hugo-easy-gallery.css /\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/sinta.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/sinta.png\" alt=\"Sitio web de SINTA. Datos Abiertos de Turismo.\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/sinta.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/sinta2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/sinta2.png\" alt=\"Universo R de SINTA.\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/sinta2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003e\u003cem\u003e\u003ca href=\"es/blog/2023/02/28/r-universe-stars-2-es/\"\u003eAprender, ayudar y compartir: el método de ThinkR para crear una comunidad cada vez más grande y amigable de R\u003c/a\u003e\u003c/em\u003e. En este encuentro hablamos de R en la educación a través de la historia de una organización francesa que busca ayudar a que más personas puedan trabajar con R. Definen a Universo R como un lugar donde registrar todos los procesos y las herramientas de manera ordenada y con información útil.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/thinkr.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/thinkr.png\" alt=\"Universo R de Thinkr, vista de paquetes\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/thinkr.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/thinkr2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/thinkr2.png\" alt=\"Universo R Thinkr, vista de Build.\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/thinkr2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003e\u003cem\u003e\u003ca href=\"/es/blog/2023/03/30/r-universe-stars-3-es/\"\u003eInvestigando nuestro cerebro con la magia del Universo R\u003c/a\u003e\u003c/em\u003e. En esta entrevista conocemos las razones por las que el Universo R llegó en el momento justo para solucionar los problemas del tamaño de los datos y las herramientas que necesitan para trabajar en la investigación del cerebro humano como parte del consorcio LifeBrain.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/lifebrain1.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/lifebrain1.png\" alt=\"Una serie de tres ejemplos de gráficos de diferentes atlas cerebrales. Cada fila muestra cuatro contornos cerebrales con formas de distintos colores.\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/lifebrain1.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/lifebrain2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/lifebrain2.png\" alt=\"Dos contornos de un cerebro dibujados con líneas. A la izquierda, una imagen de arriba; a la derecha, una imagen de lado. Ambas muestran manchas de color que resaltan puntos en el centro correspondientes a distintas partes del cerebro.\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/lifebrain2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/lifebrain3.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/lifebrain3.png\" alt=\"Universo R de Life Brain, vista de paquetes.\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/lifebrain3.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003e\u003cem\u003e\u003ca href=\"/es/blog/2023/06/06/r-universe-stars-4-es/\"\u003ePEcAn: un proyecto de código abierto para cuidar el planeta\u003c/a\u003e\u003c/em\u003e. En este encuentro conocemos el universo de un equipo que trabaja con el cambio climático y las investigaciones en el área que tienen una diversidad y complejidad que demandan modelos que permitan ahorrar tiempo y recursos a los investigadores.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/pecan0.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/pecan0.png\" alt=\"Sitio Web del proyecto PEcAn\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/pecan0.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/pecan.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/pecan.png\" alt=\"diagrama de flujo que muestra el enfoque con estándares para reducir el trabajo redundante cuando se adoptan formatos comunes.\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/pecan.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/pecan2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/pecan2.png\" alt=\"Universo R del proyecto PEcAn, vista de paquetes\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/pecan2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003e\u003cem\u003e\u003ca href=\"/es/blog/2023/09/15/r-universe-stars-5-es/\"\u003eEl universo R contra las enfermedades\u003c/a\u003e\u003c/em\u003e. En este quinto encuentro, descubrimos el trabajo que hace un equipo de desarrolladores en el MRC Centre for Global Infectious Disease Analysi spara luchar contra las enfermedades infecciosas y cómo utilizan el Universo R para alojar sus paquetes. La experiencia de la pandemia que vivimos nos ayuda a comprender la dimensión y la importancia de este trabajo.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/mrc1.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/mrc1.png\" alt=\"Universo R de MRC mostrando quienes contribuyen\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/mrc1.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/mrc2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/mrc2.png\" alt=\"Universo R de MRC mostrando la vista de builds\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/mrc2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/11/06/r-universe-stars-finale/mrc3.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/11/06/r-universe-stars-finale/mrc3.png\" alt=\"Universo R de MRC, vista de paquetes\"/\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/11/06/r-universe-stars-finale/mrc3.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eEsta es una pequeña muestra de un amplio universo donde conviven profesionales de diversas áreas, todas personas que usan R.  Cada equipo destaca distintas ventajas de nuestra plataforma:\u003c/p\u003e\u003cul\u003e\u003cli\u003eAutomatizar la construcción de binarios para diferentes sistemas operativos y así\u003c/li\u003e\u003cli\u003eFacilitar la publicación e instalación de paquetes y ahorrar horas de trabajo relacionadas con estas tareas.\u003c/li\u003e\u003cli\u003ePublicar paquetes con grandes cantidades de datos,\u003c/li\u003e\u003cli\u003ePublique todas sus herramientas de software en un solo lugar de forma organizada.\u003c/li\u003e\u003cli\u003eMostrar los esfuerzos conjuntos de desarrollo de software de muchas organizaciones en un solo lugar.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e¡Hay muchos más universos R por ahí! Te invitamos a que \u003ca href=\"mailto:yabellini@ropensci.org\"\u003enos sugieras qué otros universos te gustaría que entrevistaramos\u003c/a\u003e en una segunda etapa para conocer aún más los equipos y paquetes que forman parte del Multiverso de rOpenSci.\u003c/p\u003e\u003cp\u003eTambién podes formar parte de nuestra comunidad suscribiéndote a nuestro \u003ca href=\"/news/\"\u003eNewsletter\u003c/a\u003e y podés seguirnos en nuestras redes sociales en \u003ca href=\"https://hachyderm.io/@rOpenSci\"\u003eMastodon\u003c/a\u003e y \u003ca href=\"https://www.linkedin.com/company/ropensci/\"\u003eLinkedIn\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2023/11/06/r-universe-stars-finale-es/","date_published":"2023-11-06T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/jwd37-v2p92 ","title":"Cómo traducir un artículo de blog de Hugo con Babeldown","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["notas técnicas","multilingüe"],"content_html":"\u003cp\u003eComo parte de nuestro \u003ca href=\"/multilingual-publishing/\"\u003eproyecto editorial multilingüe\u003c/a\u003e y con \u003ca href=\"https://www.r-consortium.org/all-projects/awarded-projects/2022-group-2\"\u003efinanciación del Consorcio R\u003c/a\u003e hemos trabajado en el paquete R \u003ca href=\"https://docs.ropensci.org/babeldown/\"\u003ebabeldown\u003c/a\u003e para traducir contenido basado en Markdown utilizando la API de DeepL.En esta nota técnica, mostraremos cómo puedes utilizar babeldown para traducir un artículo de blog que utiliza Hugo.\u003c/p\u003e\u003ch2 id=\"motivación\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#motivaci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMotivación\u003c/h2\u003e\u003cp\u003eTraducir un artículo de blog en Markdown desde tu consola de R no sólo es más cómodo (cuando ya has escrito dicho artículo en R), sino también menos frustrante.Con babeldown, en comparación con copiar y pegar el contenido del artículo en algún servicio de traducción, no se romperá la sintaxis Markdown\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e, ni se traducirán las líneas de código.Esto funciona porque, detrás de escena, babeldown utiliza \u003ca href=\"https://docs.ropensci.org/tinkr\"\u003etinkr\u003c/a\u003e para producir XML que luego envía a la API DeepL, marcando algunas etiquetas como no traducibles. A continuación, convierte el XML traducido por DeepL de nuevo en Markdown.\u003c/p\u003e\u003cp\u003eAhora bien, como era de esperar, ¡este contenido traducido por la máquina aún no es perfecto!Aún necesitarás una o dos personas para revisar y corregir la traducción.Entonces, ¿por qué no hacer que una persona traduzcan el artículo desde cero?Hemos observado que para las personas voluntarias que participan en nuestras traduciones, editar una traducción automática es más rápido que traducir todo el artículo, y que libera espacio mental para centrarse en la aplicación de reglas de traducción como la redacción neutra en cuanto al género.\u003c/p\u003e\u003ch2 id=\"configuración\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#configuraci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConfiguración\u003c/h2\u003e\u003ch3 id=\"requisitos-previos-en-el-sitio-web-de-hugo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#requisitos-previos-en-el-sitio-web-de-hugo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRequisitos previos en el sitio web de Hugo\u003c/h3\u003e\u003cp\u003e\u003ca href=\"https://docs.ropensci.org/babeldown/reference/deepl_translate_hugo.html\"\u003e\u003ccode\u003ebabeldown::deepl_translate_hugo()\u003c/code\u003e\u003c/a\u003e asume que el sitio web de Hugo utiliza\u003c/p\u003e\u003cul\u003e\u003cli\u003egrupo de hojas (cada artículo en una carpeta, \u003ccode\u003econtent/camino-a-la-hoja/index.md\u003c/code\u003e);\u003c/li\u003e\u003cli\u003emultilingüismo para que un post en (por ejemplo) español viva en \u003ccode\u003econtent/camino-a-la-hoja/index.es.md\u003c/code\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ebabeldown podría ampliarse para funcionar con otras configuraciones multilingües de Hugo. Si estás interesado en utilizar babeldown con una configuración diferente, ¡ abre un \u003cem\u003eissue\u003c/em\u003e en la sección correspondiente en el \u003ca href=\"https://github.com/ropensci-review-tools/babeldown/\"\u003erepositorio de babeldow\u003c/a\u003e!\u003c/p\u003e\u003cp\u003eTen en cuenta que babeldown no podrá determinar el idioma por defecto de tu sitio web\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e, así que aunque el idioma por defecto de tu sitio web sea el inglés, babeldown colocará una traducción al inglés en un archivo llamado \u0026ldquo;.en.md\u0026rdquo; y no \u0026ldquo;.md\u0026rdquo;.Hugo reconocerá el nuevo archivo igualmente (al menos en nuestra configuración).\u003c/p\u003e\u003ch3 id=\"requisitos-previos-de-deepl\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#requisitos-previos-de-deepl\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRequisitos previos de DeepL\u003c/h3\u003e\u003cp\u003eComprueba primero que la API DeepL admite los idiomas de origen y destino que desees.Busca la \u003ca href=\"https://www.deepl.com/docs-api/translate-text\"\u003edocumentación de los parámetros \u003ccode\u003esource_lang\u003c/code\u003e y \u003ccode\u003etarget_lang\u003c/code\u003e de la API\u003c/a\u003e para obtener una lista completa.\u003c/p\u003e\u003cp\u003eUna vez que sepas que podrás aprovechar la API de DeepL, tendrás que crear una cuenta para \u003ca href=\"https://www.deepl.com/en/docs-api/\"\u003ela API del servicio de traducción de DeepL\u003c/a\u003e.Ten en cuenta que incluso para obtener una cuenta gratuita es necesario registrar un método de pago con ellos.\u003c/p\u003e\u003ch3 id=\"requisitos-previos-de-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#requisitos-previos-de-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRequisitos previos de R\u003c/h3\u003e\u003cp\u003eNecesitarás instalar babeldown desde el Universo R de rOpenSci:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003einstall.packages\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#39;babeldown\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003erepos\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#39;https://ropensci.r-universe.dev\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#39;https://cloud.r-project.org\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eA continuación, en cada sesión de R, establece tu clave de API DeepL mediante la variable de entorno DEEPL_API_KEY. Puedes almacenarla de una vez por todas con el paquete \u003ca href=\"https://r-lib.github.io/keyring/index.html\"\u003ekeyring\u003c/a\u003e y recuperarla en tus scripts de la siguiente manera:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eSys.setenv\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eDEEPL_API_KEY\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ekeyring\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003ekey_get\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;deepl\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ePor último, la URL de la API DeepL depende de tu plan.babeldown utiliza por defecto la URL de API gratuita DeepL.Si utilizas un plan Pro, establece la URL de la API en cada sesión/script de R mediante\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eSys.setenv\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;DEEPL_API_URL\u0026#34;\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;https://api.deepl.com\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"traducción\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#traducci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¡Traducción!\u003c/h2\u003e\u003cp\u003ePuedes ejecutar el siguiente código:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ebabeldown\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003edeepl_translate_hugo\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003epost_path\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eto\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003epost\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003esource_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;EN\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etarget_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ES\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eformality\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;less\u0026#34;\u003c/span\u003e \u003cspan class=\"c1\"\u003e# that\u0026#39;s how we roll here!\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003epero te recomendamos que trabajes un poco más por tu propio bien.\u003c/p\u003e\u003ch2 id=\"traducción-utilizando-un-flujo-de-trabajo-gitgithub\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#traducci%c3%b3n-utilizando-un-flujo-de-trabajo-gitgithub\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTraducción utilizando un flujo de trabajo Git/GitHub\u003c/h2\u003e\u003cp\u003eSi utilizas el control de versiones, ¡tener la traducción como un diff es muy práctico!\u003c/p\u003e\u003ch3 id=\"primero-en-palabras-e-imágenes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#primero-en-palabras-e-im%c3%a1genes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePrimero: En palabras e imágenes\u003c/h3\u003e\u003cul\u003e\u003cli\u003eEn la rama de tu artículo (llamémosla \u0026ldquo;new-post\u0026rdquo;) crea un marcador de posición: guarda tu artículo original del blog (\u003ccode\u003eindex.es.md\u003c/code\u003e) bajo el nombre del artículo de destino (\u003ccode\u003eindex.en.md\u003c/code\u003e) haz \u003cem\u003ecommit\u003c/em\u003e y luego \u003cem\u003epush\u003c/em\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/09/26/how-to-translate-a-hugo-blog-post-with-babeldown/placeholder.png\"\t\t\talt=\"Diagrama de dos partes. A la izquierda una carpeta de hojas de Hugo en la rama new-post con el artículo en español con el texto \u0026#39;Hola\u0026#39; y una imagen; a la derecha la carpeta de hojas de Hugo en la misma rama con el post en español con el texto \u0026#39;Hola\u0026#39;, el post con el nombre de archivo de destino en inglés con el texto \u0026#39;Hola\u0026#39;, y la imagen.\"\u003e\u003c/figure\u003e\u003cul\u003e\u003cli\u003eCrea una nueva rama, \u0026ldquo;auto-traducción\u0026rdquo; por ejemplo.\u003c/li\u003e\u003cli\u003eEjecuta \u003ccode\u003ebabeldown::deepl_translate_hugo()\u003c/code\u003e con \u003ccode\u003eforce = TRUE\u003c/code\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/09/26/how-to-translate-a-hugo-blog-post-with-babeldown/translate.png\"\t\t\talt=\"Diagrama con dos partes. A la izquierda la carpeta de hojas de Hugo en la rama de auto-translate con el artículo en español con el texto \u0026#39;Hola\u0026#39;, el post con el nombre de archivo de destino en inglés con el texto \u0026#39;Hola\u0026#39;, y la imagen; a la derecha lo único que cambió es que el contenido del post con el nombre de archivo de destino en inglés es ahora \u0026#39;Hello\u0026#39;.\"\u003e\u003c/figure\u003e\u003cul\u003e\u003cli\u003e\u003cem\u003eCommit\u003c/em\u003e y \u003cem\u003epush\u003c/em\u003e el resultado.\u003c/li\u003e\u003cli\u003eAbre un PR desde el \u003cstrong\u003e\u0026ldquo;translation-tech-note\u0026rdquo;\u003c/strong\u003e a la rama \u003cstrong\u003e\u0026ldquo;new-post\u0026rdquo;\u003c/strong\u003e.La única diferencia entre las dos ramas es la traducción automática de tu artículo. La diferencia para el artículo de destino será la diferencia entre los idiomas de origen y de destino. Si tienes la buena costumbre de empezar una nueva línea después de cada frase/parte de una frase, aún mejor.\u003c/li\u003e\u003c/ul\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/09/26/how-to-translate-a-hugo-blog-post-with-babeldown/pr.png\"\t\t\talt=\"Dibujo del pull request de la rama auto-translate a la rama new-post donde la diferencia es que ahora se ha traducido al inglés el contenido de la entrada con el nombre de archivo de destino en inglés.\"\u003e\u003c/figure\u003e\u003cul\u003e\u003cli\u003eLas personas que traducen o revisan pueden abrir un segundo PR en la rama de traducción con sus ediciones. O pueden añadir sus ediciones como \u003ca href=\"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-comments-to-a-pull-request\"\u003esugerencias\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"de-nuevo-pero-en-código\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#de-nuevo-pero-en-c%c3%b3digo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDe nuevo pero en código\u003c/h3\u003e\u003cp\u003eAhora vamos a repasar esto de nuevo, pero con un flujo de trabajo de programación. Utilizaremos fs y gert (¡pero hazlo como mejor te resulte a ti!). Suponemos que tu directorio actual es la raíz de la carpeta del sitio web, y también la raíz del repositorio git.\u003c/p\u003e\u003cul\u003e\u003cli\u003eEn la rama del artículo, (de nuevo, llamémosla \u0026ldquo;new-post\u0026rdquo;), guarda tu artículo original del blog (\u003ccode\u003eindex.es.md\u003c/code\u003e) con el nombre del artículo de blog de destino (\u003ccode\u003eindex.en.md\u003c/code\u003e). Haz \u003cem\u003ecommit\u003c/em\u003e y luego \u003cem\u003epush\u003c/em\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003efs\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003efile_copy\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efile.path\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;content\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;blog\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;2023-10-01-r-universe-interviews\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;index.es.md\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efile.path\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;content\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;blog\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;2023-10-01-r-universe-interviews\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;index.en.md\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003egert\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003egit_add\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003efile.path\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;content\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;blog\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;2023-10-01-r-universe-interviews\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;index.en.md\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003egert\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003egit_commit\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Add translation placeholder\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003egert\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003egit_push\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003eCrea una nueva rama, \u0026ldquo;auto-translate\u0026rdquo; por ejemplo.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003egert\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003egit_branch_create\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;translation-tech-note\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003eEjecuta \u003ccode\u003ebabeldown::deepl_translate_hugo()\u003c/code\u003e con \u003ccode\u003eforce = TRUE\u003c/code\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ebabeldown\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003edeepl_translate_hugo\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003epost_path\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003efile.path\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;content\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;blog\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;2023-10-01-r-universe-interviews\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;index.es.md\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eforce\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eTRUE\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eyaml_fields\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;title\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;description\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;tags\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003esource_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ES\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etarget_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;EN-US\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eTambién puedes omitir \u003ccode\u003epost_path\u003c/code\u003e si estás ejecutando el código desde la IDE de RStudio y si el archivo abierto y en foco (el que ves encima de tu consola) es el post que hay que traducir.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ebabeldown\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003edeepl_translate_hugo\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eforce\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eTRUE\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eyaml_fields\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;title\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;description\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;tags\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003esource_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ES\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etarget_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;EN-US\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003eHaz \u003cem\u003ecommit\u003c/em\u003e del resultado con el código que aparece a continuación.\u003c/li\u003e\u003c/ul\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003egert\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003egit_add\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003efile.path\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;content\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;blog\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;2023-10-01-r-universe-interviews\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;index.en.md\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003egert\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003egit_commit\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Add translation\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003egert\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003egit_push\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eAbre un PR desde el \u003cstrong\u003e\u0026ldquo;translation-tech-note\u0026rdquo;\u003c/strong\u003e a la rama \u003cstrong\u003e\u0026ldquo;new-post\u0026rdquo;\u003c/strong\u003e.La única diferencia entre las dos ramas es la traducción automática de \u003ccode\u003e\u0026quot;content/blog/2023-10-01-r-universe-interviews/index.en.md\u0026quot;\u003c/code\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eLas personas que traducen o revisan pueden entonces ¡abrir un \u003cem\u003esegundo\u003c/em\u003e PR a la rama de traducción con sus ediciones! O pueden añadir sus ediciones como \u003ca href=\"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#adding-comments-to-a-pull-request\"\u003esugerencias\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"resumen-de-ramas-y-prs\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#resumen-de-ramas-y-prs\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eResumen de ramas y PRs\u003c/h3\u003e\u003cp\u003eAl final debería haber dos o tres ramas:\u003c/p\u003e\u003cul\u003e\u003cli\u003ebranch A con artículo en español y marcador de posición de artículo en inglés (con contenido en español) \u0026ndash; PR to main;\u003c/li\u003e\u003cli\u003erama B con el artículo traducido automáticamente al inglés \u0026ndash; PR a la rama A;\u003c/li\u003e\u003cli\u003eOpcionalmente, la rama C con la edición de una persona de la traducción automática al inglés del artículo \u0026ndash; PR a la rama B. Si la rama C no existe, las ediciones realizadas por una persona se hacen como sugerencias de revisión de PR en el PR de B a A.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLos PR se fusionan en este orden:\u003c/p\u003e\u003cul\u003e\u003cli\u003ePR a la rama B;\u003c/li\u003e\u003cli\u003ePR a la rama A;\u003c/li\u003e\u003cli\u003ePR a main.\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"ejemplo-real\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ejemplo-real\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEjemplo real\u003c/h3\u003e\u003cul\u003e\u003cli\u003e\u003ca href=\"https://github.com/ropensci/roweb3/pull/629\"\u003ePR añadiendo un artículo al blog de rOpenSci\u003c/a\u003e, observa que es un PR del \u003cstrong\u003e\u0026ldquo;r-universe-interviews\u0026rdquo;\u003c/strong\u003e a la rama \u003cstrong\u003e\u0026ldquo;main\u0026rdquo; (por defecto)\u003c/strong\u003e;\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://github.com/ropensci/roweb3/pull/639\"\u003ePR añadiendo la traducción automática\u003c/a\u003e, observa que es un PR para la rama \u003cstrong\u003e\u0026ldquo;r-universe-interviews\u0026rdquo;\u003c/strong\u003e.\u003c/li\u003e\u003c/ul\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/09/26/how-to-translate-a-hugo-blog-post-with-babeldown/pr-diff.png\"\t\t\talt=\"Captura de pantalla de la pestaña de archivos del pull request que añade la traducción automática, donde observamos que el texto en español de los metadatos YAML y el contenido Markdown se ha traducido al inglés.\"\u003e\u003c/figure\u003e\u003cp\u003eYanina retocó la traducción automática sugiriendo cambios en el PR, y luego aceptándolos.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/09/26/how-to-translate-a-hugo-blog-post-with-babeldown/pr-comments.png\"\t\t\talt=\"Captura de pantalla de la pestaña principal del pull request que añade la traducción automática, donde observamos un comentario de Yanina sustituyendo la palabra \u0026#39;artículo\u0026#39; por \u0026#39;entrada de blog\u0026#39; y arreglando el nombre de \u0026#39;R-universo\u0026#39;.\"\u003e\u003c/figure\u003e\u003ch3 id=\"campos-yaml\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#campos-yaml\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCampos YAML\u003c/h3\u003e\u003cp\u003ePor defecto, babeldown traduce los campos YAML \u0026ldquo;título\u0026rdquo; y \u0026ldquo;descripción\u0026rdquo;.Si tienes texto en más campos, utiliza la opción \u003ccode\u003eyaml_fields\u003c/code\u003e argumento de \u003ccode\u003ebabeldown::deepl_translate_hugo()\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eTen en cuenta que si babeldown traduce el título, actualiza el slug.\u003c/p\u003e\u003ch3 id=\"glosario\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#glosario\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGlosario\u003c/h3\u003e\u003cp\u003eImagina que tienes algunas preferencias para algunas palabras, algo que irás construyendo con el tiempo.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ereadr\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003eread_csv\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003esystem.file\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;example-es-en.csv\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003epackage\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;babeldown\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eshow_col_types\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eFALSE\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e## # A tibble: 2 × 2##   Spanish     English   ##   \u0026lt;chr\u0026gt;       \u0026lt;chr\u0026gt;     ## 1 paquete     package   ## 2 repositorio repository\u003c/code\u003e\u003c/pre\u003e\u003cp\u003ePuedes registrar estas traducciones preferidas en un glosario en tu cuenta de DeepL.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003edeepl_upsert_glossary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eto\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003ecsv\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003efile\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eglossary_name\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;rstats-glosario\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etarget_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Spanish\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003esource_lang\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;English\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eUtilizarías exactamente el mismo código para \u003cem\u003eactualizar\u003c/em\u003e el glosario, de ahí el nombre \u0026ldquo;upsert\u0026rdquo; de la función.Necesitas un glosario por cada par de idiomas de origen y destino: el glosario inglés-español no puede utilizarse, por ejemplo, para el español-inglés.\u003c/p\u003e\u003cp\u003eEn tu \u003ccode\u003ebabeldown::deepl_translate_hugo()\u003c/code\u003e llamada utilizarás el nombre del glosario (aquí \u0026ldquo;rstats-glosario\u0026rdquo;) para el argumento \u003ccode\u003eglossary\u003c/code\u003e.\u003c/p\u003e\u003ch3 id=\"formalidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#formalidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFormalidad\u003c/h3\u003e\u003cp\u003e\u003ccode\u003edeepl_translate_hugo()\u003c/code\u003e tiene un \u003ccode\u003eformality\u003c/code\u003e argumento.Ahora bien, la API de DeepL sólo admite esto para algunos idiomas, como se explica en el apartado de la \u003ca href=\"https://www.deepl.com/docs-api/translate-text\"\u003edocumentación del parámetro \u003ccode\u003eformality\u003c/code\u003e de la API\u003c/a\u003e:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEstablece si el texto traducido debe inclinarse hacia un lenguaje formal o informal. Actualmente, esta opción sólo funciona para las lenguas de destino DE (alemán), FR (francés), IT (italiano), ES (español), NL (neerlandés), PL (polaco), PT-BR y PT-PT (portugués), JA (japonés) y RU (ruso). (\u0026hellip;) La configuración de este parámetro con una lengua de destino que no admita la formalidad fallará, a menos que se utilice una de las opciones prefer_\u0026hellip;\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003ePor tanto, para asegurarnos de que una traducción funcionará, en lugar de escribir \u003ccode\u003eformality = \u0026quot;less\u0026quot;\u003c/code\u003e puedes escribir \u003ccode\u003eformality = \u0026quot;prefer_less\u0026quot;\u003c/code\u003e que sólo utilizará la formalidad si está disponible.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn este post hemos explicado cómo traducir una entrada del blog de Hugo utilizando babeldown.Aunque lo esencial es utilizar una llamada a \u003ccode\u003ebabeldown::deepl_translate_hugo()\u003c/code\u003e,\u003c/p\u003e\u003cul\u003e\u003cli\u003ees necesario indicar la URL de la API y la clave,\u003c/li\u003e\u003cli\u003ese pueden mejorar los resultados utilizando los distintos argumentos de la función,\u003c/li\u003e\u003cli\u003erecomendamos emparejar la traducción con un flujo de trabajo Git + GitHub (o GitLab, gitea\u0026hellip;).\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ebabeldown tiene \u003ca href=\"https://docs.ropensci.org/babeldown/reference/index.html\"\u003efunciones\u003c/a\u003e para traducir capítulos de libros Quarto, cualquier archivo Markdown y cualquier cadena Markdown, con argumentos similares y uso recomendado, ¡así que explora su referencia!\u003c/p\u003e\u003cp\u003eNos encantaría que nos cuentes tus \u003ca href=\"/usecases/\"\u003ecasos de uso\u003c/a\u003e.\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003ePero deberías consultar \u003ca href=\"https://docs.ropensci.org/tinkr/#loss-of-markdown-style\"\u003etinkr docs\u003c/a\u003e para ver qué puede cambiar en el estilo de sintaxis Markdown.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eañadir código para manejar la \u003ca href=\"https://github.com/r-lib/hugodown/issues/14#issuecomment-632850506\"\u003e\u0026ldquo;desconcertante variedad de posibles ubicaciones de configuración\u0026rdquo;\u003c/a\u003e de Hugo y dos formatos posibles (YAML y TOML) está fuera del alcance de babeldown en este momento.\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/09/26/c%C3%B3mo_traducir_una_entrada_de_blog_de_hugo_con_babeldown/","date_published":"2023-09-26T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/cax2g-mx496","title":"Atraer colaboradores con issues de 'se busca ayuda'","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator","author"]}],"tags":["comunidad","paquetes","bienvenida","mantenimiento","contribuciones"],"content_html":"\u003cp\u003eMantener un paquete puede ser una actividad solitaria, lo que a veces supone un problema si prefieres el trabajo en equipo o si te encuentras con un problema muy duro para ti.Además de pertenecer a una comunidad solidaria de mantenedores (como rOpenSci \u0026#x1f609;), ¡para obtener ayuda y compasión colaborativa puedes intentar crear una comunidad de colaboradores en torno a tu paquete!En este post, exploraremos una herramienta que te ayudará a conseguir ese objetivo: los \u003cem\u003eissues\u003c/em\u003e de \u0026ldquo;se busca ayuda\u0026rdquo;, ¡con los que tu repositorio podría atraer y retener a nuevos desarrolladores! Hablaremos de qué son estos \u003cem\u003eissues\u003c/em\u003e de \u0026ldquo;se busca ayuda\u0026rdquo;, sobre cuatro pasos para solicitar ayuda externa y te recordaremos que puede ser un proceso beneficioso, aunque no acabes consiguiendo ayuda.\u003c/p\u003e\u003cp\u003e\u003cem\u003eTen en cuenta que este post utiliza terminología específica de GitHub, como \u003cem\u003eissues\u003c/em\u003e y etiquetas (labels). Si utilizas GitLab u otra plataforma git, probablemente exista un equivalente.\u003c/em\u003e :cara_ligeramente_sonriente:\u003c/p\u003e\u003ch2 id=\"qué-son-los-temas-de-se-necesita-ayuda\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-son-los-temas-de-se-necesita-ayuda\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué son los temas de \u0026ldquo;se necesita ayuda\u0026rdquo;?\u003c/h2\u003e\u003cp\u003eLos \u003cem\u003eissues\u003c/em\u003e \u0026ldquo;Se busca ayuda\u0026rdquo; son \u003cem\u003eissues\u003c/em\u003e para los que necesitarías o aceptarías contribuciones externas.Se etiquetan con la etiqueta estándar de la comunidad \u0026ldquo;se busca ayuda\u0026rdquo; (\u003ca href=\"https://github.com/ropensci/osmextract/issues/286\"\u003eejemplo\u003c/a\u003e; opcionalmente con un emoji, si ejecutaste \u003ca href=\"https://usethis.r-lib.org/reference/use_github_labels.html\"\u003e\u003ccode\u003eusethis::use_tidy_github_labels()\u003c/code\u003e\u003c/a\u003e).\u003c/p\u003e\u003cp\u003ePara algunos de ellos, si no están demasiado implicados, o si son una buena rampa de acceso a tu base de código, también puedes utilizar la función \u003ca href=\"https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/encouraging-helpful-contributions-to-your-project-with-labels\"\u003e\u0026ldquo;etiqueta \u0026ldquo;buena primera edición\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eA continuación veremos cuatro pasos para solicitar ayuda externa.\u003c/p\u003e\u003ch2 id=\"paso-1-selecciona-issues-de-se-busca-ayuda\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-1-selecciona-issues-de-se-busca-ayuda\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 1. Selecciona \u003cem\u003eissues\u003c/em\u003e de \u0026ldquo;se busca ayuda\u0026rdquo;\u003c/h2\u003e\u003ch3 id=\"temas-que-realmente-necesitas-ayuda-obstáculos-al-desarrollo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#temas-que-realmente-necesitas-ayuda-obst%c3%a1culos-al-desarrollo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTemas que \u003cem\u003erealmente\u003c/em\u003e necesitas ayuda: obstáculos al desarrollo\u003c/h3\u003e\u003cp\u003eA veces se avecina un obstáculo que no sabes cómo superarlo en el camino hacia tu próximo hito de desarrollo.En esta fase puedes:\u003c/p\u003e\u003cul\u003e\u003cli\u003epedir ayuda en un canal habitual (por ejemplo, el canal de mantenimiento de paquetes del Slack de rOpenSci, si estás en ese \u003ca href=\"https://contributing.ropensci.org/resources.html#channels\"\u003eespacio de trabajo\u003c/a\u003e; \u003ca href=\"/blog/2022/01/11/ropensci-forum/\"\u003eForo de debate rOpenSci\u003c/a\u003e; \u003ca href=\"https://community.rstudio.com/\"\u003eForo de la comunidad Posit\u003c/a\u003e);\u003c/li\u003e\u003cli\u003eabrir una incidencia en una dependencia upstream si es ahí donde está el problema real;\u003c/li\u003e\u003cli\u003eabrir un \u003cem\u003eissue\u003c/em\u003e en tu repositorio describiendo tu problema.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ePor ejemplo, al trabajar en el paquete tinkr, Maëlle abrió un \u003ca href=\"https://github.com/ropensci/tinkr/issues/9\"\u003e\u003cem\u003eissue\u003c/em\u003e muy específico\u003c/a\u003e que acabó recibiendo una ayuda externa milagrosa.\u003c/p\u003e\u003cp\u003eTambién puedes añadir la etiqueta \u0026ldquo;se necesita ayuda\u0026rdquo; a un informe de error o a una solicitud de función que alguien haya abierto en tu paquete.Con un poco de suerte, el propio creador del problema podrá participar.\u003c/p\u003e\u003ch3 id=\"temas-en-los-que-podrías-necesitar-ayuda-delegar-o-voluntad-de-hacer-crecer-tu-equipo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#temas-en-los-que-podr%c3%adas-necesitar-ayuda-delegar-o-voluntad-de-hacer-crecer-tu-equipo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTemas en los que podrías necesitar ayuda: delegar o voluntad de hacer crecer tu equipo\u003c/h3\u003e\u003cp\u003eAhora bien, a veces hay algunas ideas de mantenimiento o mejora que tienes para tu paquete para las que no tienes tiempo ahora mismo, o que no son urgentes.Por ejemplo \u003ca href=\"https://github.com/ropensci/geojsonio/issues/183\"\u003eactualizar la infraestructura de pruebas para probar esa tercera edición\u003c/a\u003e o \u003ca href=\"https://github.com/ropensci/landscapetools/issues/33\"\u003eañadir soporte a un paquete espacial\u003c/a\u003e.Incluyéndolos en tu gestor de \u003cem\u003eissues\u003c/em\u003e,\u003c/p\u003e\u003cul\u003e\u003cli\u003emuestras a los usuarios curiosos que tienes en tu mente,\u003c/li\u003e\u003cli\u003epuedes organizar tu propio trabajo,\u003c/li\u003e\u003cli\u003ey puedes recibir ayuda externa, especialmente si solicitas ayuda explícitamente con la etiqueta \u0026ldquo;se busca ayuda\u0026rdquo;.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"paso-2-pule-tu-issue-y-la-guía-de-contribución\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-2-pule-tu-issue-y-la-gu%c3%ada-de-contribuci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 2. Pule tu \u003cem\u003eissue\u003c/em\u003e y la guía de contribución\u003c/h2\u003e\u003cp\u003eUna vez que tengas un tema en mente, haz que el título del \u003cem\u003eissue\u003c/em\u003e y el texto sean lo más claros posible.Aunque al final seas tú quien solucione el problema, en el futuro te alegrarás de no haber anotado un comentario indescifrable.Enlaza a los recursos que sean necesarios, y asegúrate de incluir el contexto.Aborda la redacción de un problema en tu propio repositorio del mismo modo que lo harías en uno que no es tuyo: descripción del reto, resultado deseado, compensaciones, etc.\u003c/p\u003e\u003cp\u003eMás allá de los esfuerzos en el \u003cem\u003eissue\u003c/em\u003e individual, es crucial tener un \u003ca href=\"https://devguide.ropensci.org/collaboration.html#contributing-guide\"\u003eguía de contribución\u003c/a\u003e que subraye todo lo que conviene saber sobre la contribución a tu paquete: herramientas utilizadas, preferencias de estilo y diseño. \u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003eNo dupliques los recursos externos, mejor apunta a ellos.Intenta ser un poco flexible para no sobrecargar o asustar a los colaboradores con requisitos demasiado estrictos: probablemente puedas terminar tú mismo los PR, o enseñarles poco a poco.\u003c/p\u003e\u003ch2 id=\"paso-3-difunde-tu-necesidad-de-ayuda\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-3-difunde-tu-necesidad-de-ayuda\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 3. Difunde tu necesidad de ayuda\u003c/h2\u003e\u003cp\u003eEn primer lugar, para los paquetes rOpenSci, los \u003cem\u003eissues\u003c/em\u003e de \u0026ldquo;se busca ayuda\u0026rdquo; se difunden a la comunidad a través de la sección \u003ca href=\"/help-wanted\"\u003esitio web\u003c/a\u003e y en las redes sociales.\u003c/p\u003e\u003cp\u003ePuedes compartirlo en tus propias redes: el espacio de trabajo de slack de rOpenSci, tus redes sociales, un canal de comunicación local del Grupo de Usuarios de R, etc.\u003c/p\u003e\u003cp\u003eTambién puedes considerar la posibilidad de aprovechar eventos hack-a-thon como \u003ca href=\"https://hacktoberfest.com/\"\u003eHacktoberfest\u003c/a\u003e por ejemplo (si añades el \u003ca href=\"https://hacktoberfest.com/participation/\"\u003e\u0026ldquo;hacktoberfest\u0026rdquo; a tu repositorio\u003c/a\u003e), pero con eventos realmente grandes como éste no puedes contar necesariamente con que alguien descubra tu pequeño problema en ese mar de problemas.\u003c/p\u003e\u003ch2 id=\"paso-4-da-las-gracias-a-las-personas-que-colaboran\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-4-da-las-gracias-a-las-personas-que-colaboran\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 4. Da las gracias a las personas que colaboran\u003c/h2\u003e\u003cp\u003eSi alguien responde en el \u003cem\u003eissue\u003c/em\u003e o abre un PR, intenta ser algo receptivo.Comprueba que tu configuración te permite recibir notificaciones de los comentarios de los \u003cem\u003eissues\u003c/em\u003e y de los PR, puede que necesites \u003ca href=\"https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/managing-subscriptions-for-activity-on-github/viewing-your-subscriptions\"\u003emirar las notificaciones\u003c/a\u003e en tu repositorio.\u003c/p\u003e\u003cp\u003e¡Agradece las contribuciones \u003ca href=\"https://devguide.ropensci.org/collaboration.html?q=generous#attributions\"\u003egenerosamente\u003c/a\u003e!\u003c/p\u003e\u003ch2 id=\"no-desesperes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#no-desesperes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNo desesperes\u003c/h2\u003e\u003cp\u003eAunque hayas escrito un \u003cem\u003eissue\u003c/em\u003e excelente, puede que nadie lo tome.En ese caso, plantéate volver a difundirlo, pide consejos generales a tus compañeros mantenedores y considera la posibilidad de solicitar financiación (que puede comprar tiempo de trabajo, ya sea tuyo o el de un contratista externo) para tus esfuerzos de mantenimiento.Por ejemplo \u003ca href=\"https://www.r-consortium.org/all-projects/call-for-proposals#Rstats\"\u003eel R Consortium tiene dos convocatorias anuales de propuestas para subsidios\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eAunque al final nadie aborde la cuestión, pasar por este proceso puede ser útil, ya que te da la oportunidad de pensar en el tema en detalle y de considerar posibles resoluciones, lo que puede ayudarte a resolver tu problema por ti mismo.Además, un \u003cem\u003eissue\u003c/em\u003e bien documentado es una forma estupenda de dejar documentadas tus decisiones sobre tu software de forma transparente y puede ayudar a futuros usuarios y colaboradores a entender las razones de tus elecciones.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eAbrir \u003cem\u003eissues\u003c/em\u003e de \u0026ldquo;se busca ayuda\u0026rdquo; puede ser una forma de hacer crecer la comunidad de colaboradores de tu paquete.Puede ser una mejor puerta a la contribución de temas menos específicos con una lista de tareas necesarias, ya que son menos abrumadores.Es posible que los colaboradores solucionen un problema de \u0026ldquo;ayuda solicitada\u0026rdquo; y luego se marchen, o que sigan adelante y solucionen más de ellos.A veces una conversación en los comentarios puede ayudarte a encontrar una solución aunque un colaborador no envíe un PR.\u003c/p\u003e\u003cp\u003eComo colaborador, ¡comenta siempre un problema antes de abordarlo, para asegurarte de que sigue actualizado y de que nadie más está preparando un PR duplicado en este momento!Qué fastidioso sería trabajar para nada.\u003c/p\u003e\u003cp\u003ePara más ideas sobre cómo fomentar una comunidad en torno a tu paquete, quizá te guste la grabación y los materiales de nuestra pasada \u003ca href=\"/commcalls/apr2021-pkg-community/\"\u003e\u0026ldquo;conversaciones con la comunidad\u0026rdquo; sobre el tema\u003c/a\u003e.\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003ePuede que encuentres\u003ca href=\"https://contributing.streamlit.app/\"\u003ehttps://contributing.streamlit.app/\u003c/a\u003e útil, pero otra forma de mejorar tu guía de colaboradores es ir modificándola en función de tu experiencia con los nuevos colaboradores.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/09/19/help-wanted/","date_published":"2023-09-19T00:00:00+00:00","date_modified":"2025-09-18T08:18:40+02:00"},{"id":"https://doi.org/10.59350/17f9w-pks71","title":"Conociendo a las estrellas del Universo R: El universo R contra las enfermedades.","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["author"]},{"name":"Lucio Casalla","url":"https://ropensci.org/es/author/lucio-casalla/","avatar":"https://ropensci.org/img/community/lucio-casalla.JPG","_role":["author"]},{"name":"Rich FitzJohn","url":"https://ropensci.org/es/author/rich-fitzjohn/","avatar":"https://github.com/richfitz.png","_role":["interviewee"]},{"name":"Rob Ashton","url":"https://ropensci.org/es/author/rob-ashton/","avatar":"https://api.dicebear.com/7.x/identicon/svg?seed=138c4ac5a7931c08b88b85d81e3833dd&amp;rowColor=276dcc&amp;size=50","_role":["interviewee"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","r-universe","entrevistas","estrellas del universo r"],"content_html":"\u003cp\u003eUn nuevo artículo de nuestra serie de entrevistas \u003ca href=\"/tags/r-universe-stars/\"\u003e\u0026ldquo;Conociendo a las estrellas del universo R\u0026rdquo;\u003c/a\u003e. Nuestro objetivo es presentar a los equipos y personas que están detrás del desarrollo de software y paquetes que utilizamos y que están disponibles a través del R-universe. Queremos destacar y explorar diferentes equipos y proyectos de todo el mundo, el trabajo que realizan, sus procesos y usuarios. En esta parada vamos al \u003cstrong\u003eReino Unido\u003c/strong\u003e para hablar con representantes del \u003cem\u003eCentre for Global Infectious Disease Analysis\u003c/em\u003e. No te olvides de mirar el video al final del artículo con extractos de la entrevista.\u003c/p\u003e\u003cp\u003e\u003cem\u003eLas enfermedades infecciosas siguen generando múltiples problemas en la salud humana. La experiencia de la pandemia nos enseñó la importancia de las investigaciones para luchar contra las epidemias. Hoy conoceremos a un equipo de desarrolladores que utilizan el Universo R para alojar paquetes que ayudan en ese trabajo.\u003c/em\u003e\u003c/p\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/blog/2023/09/15/r-universe-stars-5-en/rich.jpeg\"\t\t\talt=\"Foto de perfil de Rich FitzJohn.\" width=\"300\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eRich FitzJohn\u003c/strong\u003e\u003cbr\u003eArquitecto principal\u003cbr\u003eGrupo de Ingeniería de Software de Investigación\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eLa charla comienza con Rich FitzJohn, quien dirige el equipo de ingeniería de software de investigación en el \u003ca href=\"https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis\"\u003eMRC Centre for Global Infectious Disease Analysis\u003c/a\u003e. Este centro trabaja en el análisis global de enfermedades infecciosas y es un centro de investigación y desarrollo de herramientas para el análisis epidemiológico y la modelización de enfermedades infecciosas con el objetivo de colaborar con el trabajo de organismos nacionales e internacionales para planificar políticas públicas de respuesta a las posibles amenazas de las enfermedades infecciosas.\u003c/p\u003e\u003cp\u003eEste equipo fue de los primeros en utilizar nuestro Universo R y por eso es un testimonio relevante para compartir y conocer las razones por las cuales ingresaron a nuestra plataforma.\u003c/p\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/blog/2023/09/15/r-universe-stars-5-en/rob.jpeg\"\t\t\talt=\"Foto de pergil de Rob Ashton.\" width=\"300\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eRobert Ashton\u003c/strong\u003e\u003cbr\u003eIngeniero de Software de Investigaión Senior\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSegún lo explica Rich el trabajo consiste en dar respuesta a problemas generales y específicos de la epidemiología y responden a más de 200 empresas diferentes. Dentro de esos desarrollos, el Universo R es una forma de distribuir sus paquetes principalmente para el trabajo interno pero también es una buena manera de presentarlos.\u003c/p\u003e\u003cp\u003eEn este sentido, Rob quien también es ingeniero en software y trabaja junto a Rich en el proyecto, agrega que los paquetes les permiten entregar el trabajo a todos los destinatarios de una manera sencilla, útil y responsable. Sobre todo si se tiene en cuenta que se trata de un trabajo muy colaborativo y muchas veces contra reloj. Es por eso que tratan de estar todos trabajando al mismo tiempo en el mismo código con un ciclo de desarrollo y revisión permanente para poder satisfacer las necesidades de los investigadores.\u003cbr\u003eEse desarrollo después puede ser utilizado por investigadores en todo el mundo y ahí es donde el Universo R se vuelve una herramienta fundamental.\u003c/p\u003e\u003cp\u003eVarios usuarios diversos pueden acceder al \u003ca href=\"https://mrc-ide.r-universe.dev\"\u003euniverso R de MRC\u003c/a\u003e para utilizar los paquetes y disponer del material necesario para su investigación. Sin embargo, es probable que necesiten cierta formación o conocimientos para poder utilizar estos paquetes debido al nivel de especificidad y el Universo R también ayuda en este sentido albergando documentación como viñetas y artículos.\u003c/p\u003e\u003cp\u003eRecordando cómo se involucraron por primera vez en R-Universe, Rich dice que fue para probar las primeras versiones de la plataforma en la que estaba trabajando rOpenSci.  Cuando les invitaron, se dieron cuenta de que representaba la posibilidad de ahorrar horas de trabajo en distintos procesos. Cuando los invitaron se dieron cuenta que representaba la posibilidad de ahorrarse horas de trabajo en distintos procesos.\u003c/p\u003e\u003cp\u003eFue en este momento de la charla donde se habló sobre posibles funcionalidades futuras que podrían ser útiles en el Universo R; desde archivar diferentes versiones de los binarios de cada paquete según las necesidades de reproducibilidad de un investigador, pasando por la generación automática de la documentación de los paquetes, hasta diferentes ideas para incrementar las capacidades de búsqueda y descubrimiento de paquetes en el Universo R.\u003c/p\u003e\u003cp\u003eParte de esos desafíos están en desarrollo y el Universo R ya cuenta con funcionalidades que responden a algunas de estas ideas del equipo de Rich y Rob. Por ejemplo: \u003ca href=\"https://ropensci.org/blog/2023/05/31/runiverse-snapshots/\"\u003eDescarga de versiones y creación de repositorios de paquetes R estables mediante R-Universe (en Inglés)\u003c/a\u003e y \u003ca href=\"https://ropensci.org/es/blog/2023/02/27/runiverse-discovering-es/\"\u003eDescubrir y aprender todo lo que hay que saber sobre los paquetes de R utilizando r-universe.\u003c/a\u003e\u003c/p\u003e\u003cp\u003eEn el siguiente video Rich y Rob cuentan más detalles del trabajo que realizan en el MRC y que comparten en el Universo R de rOpenSci.\u003c/p\u003e\t\t\t\u003cdiv\t\t\t\t\tstyle=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\t\t\t\t\u003ciframe\t\t\t\t\tsrc=\"https://player.vimeo.com/video/861836969?dnt=0\"\t\t\t\t\t\tstyle=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" allow=\"fullscreen\" title=\"Conociendo a las estrellas del Universo R - Proyecto del Centre for Global Infectious Disease Analysis\"\u003e\t\t\t\t\u003c/iframe\u003e\t\t\t\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/09/15/r-universe-stars-5-es/","date_published":"2023-09-15T00:00:00+00:00","date_modified":"2025-09-16T09:31:26+02:00"},{"id":"https://doi.org/10.59350/azrs1-7np02","title":"¡Convocatoria abierta para la presentación de candidaturas al Programa de Campeonas y Campeones de rOpenSci!","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","ayuda","principiante","bienvenidad","diversidad","campeones"],"content_html":"\u003cp\u003e¡Nos complace abrir la convocatoria para la segunda cohorte de \u003cstrong\u003eCampeonas/es y Mentoras/es\u003c/strong\u003e para el Programa de rOpenSci 🎉 ! Este programa continuará apoyando nuestro objetivo de identificar, reconocer y recompensar a los miembros apasionados de la comunidad que ayudan a la comunidad a crecer y mejorar.\u003c/p\u003e\u003cp\u003eEste programa de Campeones y Campeonas de rOpenSci \u003ca href=\"/blog/2021/12/20/inclusive-leadership-program/\"\u003eforma parte de una serie de actividades y proyectos que estamos llevando a cabo para garantizar que nuestro software de investigación esté al servicio de todas las personas de nuestras comunidades\u003c/a\u003e, lo que significa que debe ser sustentable, abierto y construido \u003cstrong\u003epor y para todos los grupos.\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eNos esforzamos por impulsar un cambio significativo en el ecosistema de la Ciencia Abierta y en la Comunidad R en particular, y para ello reconocemos la necesidad de apoyar a una cohorte diversa de líderes de la comunidad, colaboradores y colaboradoras en todos los aspectos de la creación de software de investigación a través de nuestro Programa de Campeones/as.Es por esto que este programa está enfocado y pensando para que participen \u003cstrong\u003epersonas que pertenecen a grupos histórica y sistemáticamente excluidos\u003c/strong\u003e de las comunidades de software abierto y de software de investigación y que están interesadas en contribuir a rOpenSci y al ecosistema más amplio de comunidades de software de código abierto y de investigación.\u003c/p\u003e\u003cp\u003eBuscamos personas que trabajen en campos STEAM, de cualquier parte del mundo, que ya tengan conocimientos de desarrollo y experiencia con el lenguaje R.\u003c/p\u003e\u003ch2 id=\"qué-se-espera-de-un-campeón-o-campeona\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-se-espera-de-un-campe%c3%b3n-o-campeona\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué se espera de un Campeón o Campeona?\u003c/h2\u003e\u003cp\u003eHemos desarrollado un \u003cstrong\u003eprograma de doce meses que incluye, capacitación basado en cohortes, el desarrollo de un proyecto y tutorías individuales\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eLas personas que sean seleccionadas paticiparán en una capacitación de seis semanas sobre: a) planificar y facilitar talleres atractivos e inclusivos para apoyar el éxito de quienes participan, b) conocer los diversos canales a través de los cuales se puede participar y contribuir a los proyectos de rOpenSci y de R, y c) conocimientos técnicos en desarrollo y revisión de software.\u003c/p\u003e\u003cp\u003eTras su formación, los campeones y las campeonas desarrollarán su proyecto, que puede ser una de estas opciones:\u003c/p\u003e\u003cul\u003e\u003cli\u003ecrear un nuevo paquete,\u003c/li\u003e\u003cli\u003epasar por el proceso de revisión con un paquete de R que ya hayan desarrollado,\u003c/li\u003e\u003cli\u003eo participar del proceso de revisión por pares revisando un paquete.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOtras actividades para las personas seleccionadas incluyen opciones como dar charlas, escribir artículos para la web y enseñar a otras personas de la comunidad. Durante esta etapa, los campeones y las campeonas recibirán tutorías individuales de sus mentores y mentoras y en grupo por medio de reuniones de cohorte trimestrales, ayuda de la Community Manager y un canal dedicado en el Slack de rOpenSci.\u003c/p\u003e\u003cp\u003eProporcionaremos un estipendio de $1000 (USD) a los campeones y las campeonas que seleccionemos después que completen el programa.\u003c/p\u003e\u003cp\u003eBuscamos de \u003cstrong\u003eseis a nueve\u003c/strong\u003e personas para esta segunda cohorte. Esperamos co-crear esta iteración del programa con los y las solicitantes que seleccionemos y perfeccionar futuras ediciones con su experiencia y comentarios.\u003c/p\u003e\u003cp\u003eEsperamos recibir muchas solicitudes y nos comprometemos a orientar a quienes no seleccionemos hacia otras formas en las que puedan desarrollar habilidades y contribuir a rOpenSci.\u003c/p\u003e\u003ch2 id=\"qué-se-espera-de-una-mentora-o-un-mentor\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-se-espera-de-una-mentora-o-un-mentor\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué se espera de una Mentora o un Mentor?\u003c/h2\u003e\u003cp\u003eMentores y mentoras desempeñarán un papel fundamental en el programa de rOpenSci, ayudando a seleccionar a los campeones y campeonas y también asesorando e inspirando a quienes mentoreen. Los mentores y mentoras pondrán en contacto a sus campeones/as con personas, programas y organizaciones; recomendarán recursos, lecturas, formación y experiencias; y proporcionarán comentarios sobre el proyecto de su campeón o campeona.\u003c/p\u003e\u003cp\u003eBuscamos personas de la comunidad rOpenSci que:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eHayan demostrado comprensión y capacidad para trabajar de forma abierta y colaborativa;\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eTengan la voluntad de guiar y enseñar a otros;\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eCuenten con experiencia previa en cualquiera de los siguientes campos\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eDesarrollar, mantener o contribuir a cualquier paquete rOpenSci o paquete que haya pasado por la revisión de rOpenSci, o\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eParticipación en el proceso de revisión de rOpenSci, o\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eDesarrollo de paquetes y/o revisión de código entre pares.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLos mentores y mentoras adquirirán experiencia y habilidades para realizar su tarea, serán reconocidos en el sitio web de rOpenSci y en los canales de las redes sociales, y harán nuevas conexiones a través de las redes de los Campeones. Al tutelar a nuestros campeones y campeonas seleccionados y ayudar a dar forma a este programa, los tutores y tutoras también estarán retribuyendo a la comunidad rOpenSci de una forma estupenda y significativa.\u003c/p\u003e\u003ch2 id=\"cómo-aplicar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-aplicar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo aplicar?\u003c/h2\u003e\u003cp\u003eSe debe completar el formulario de aplicación antes del \u003cem\u003elunes 4 de septiembre de 2023\u003c/em\u003e. Los formularios deben completarse en \u003cem\u003einglés\u003c/em\u003e.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href=\"https://airtable.com/shrAsYlSXU0coJ5Ld\"\u003e\u003cstrong\u003eFormulario para aplicar como campeón/a\u003c/strong\u003e\u003c/a\u003e. \u003ca href=\"/champions/files/champions_template_es\"\u003eEsta plantilla presenta la información requerida en el formulario en español\u003c/a\u003e.\u003c/li\u003e\u003cli\u003e\u003ca href=\"https://airtable.com/shrlrLdQbb4wphosK\"\u003e\u003cstrong\u003eFormulario para aplicar como mentor/a\u003c/strong\u003e\u003c/a\u003e. \u003ca href=\"/champions/files/mentors_champions_template_es\"\u003eEsta plantilla presenta la información requerida en el formulario en español\u003c/a\u003e.\u003c/li\u003e\u003c/ul\u003e\u003ch3 id=\"cronograma\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#cronograma\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCronograma\u003c/h3\u003e\u003ctable\u003e\t\u003cthead\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003cth\u003eFecha\u003c/th\u003e\t\t\t\t\t\u003cth\u003eEvento\u003c/th\u003e\t\t\t\u003c/tr\u003e\t\u003c/thead\u003e\t\u003ctbody\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eJulio 14, 2023\u003c/td\u003e\t\t\t\t\t\u003ctd\u003eSe abre el llamado a postulaciones  🎉\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003ejulio 25, 2023\u003c/td\u003e\t\t\t\t\t\u003ctd\u003e[Opcional] \u003ca href=\"/commcalls/july2023-championprogram/\"\u003eCharlas de la comunidad\u003c/a\u003e - Aprende de otros campeones y mentoras. Recibe consejos para que escribas y envies tu postulación al programa\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eAgosto 17 y 23, 2023\u003c/td\u003e\t\t\t\t\t\u003ctd\u003e[Opcional] Coworking Champions Application Clinics en diferentes zonas horarias (\u003ca href=\"/events/coworking-2023-08-17/\"\u003eAgosto 17\u003c/a\u003e y \u003ca href=\"/events/coworking-2023-08-23/\"\u003eAgosto 23\u003c/a\u003e): recibe ayuda con tu aplicación para el Programa\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eSeptiembre 4, 2023\u003c/td\u003e\t\t\t\t\t\u003ctd\u003eSe cierra el llamado a postulaciones\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\u003c/tbody\u003e\u003c/table\u003e\u003ch2 id=\"tienes-preguntas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#tienes-preguntas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Tienes preguntas?\u003c/h2\u003e\u003cp\u003ePuedes ver todos los detalles sobre la solicitud, los plazos y la admisibilidad en \u003ca href=\"/champions/\"\u003ela página web del programa\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eRecuerda que tendremos una \u003ca href=\"/commcalls/july2023-championprogram/\"\u003eCommunity Call el martes 25 de julio de 2023 a las 14:00 UTC\u003c/a\u003e y dos sesiones de Coworking en agosto (\u003ca href=\"/events/coworking-2023-08-17/\"\u003e17 de Agosto\u003c/a\u003e y \u003ca href=\"/events/coworking-2023-08-23/\"\u003e23 de Agosto\u003c/a\u003e) para ayudarte con tu aplicación.\u003c/p\u003e\u003cp\u003eTambién puedes contactar a nuestra Community Manager \u003ca href=\"mailto:yabellini@ropensci.org\"\u003epor email\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEstamos deseando conocer a todas las personas apasionadas con R que hay por ahí :-D\u003c/strong\u003e\u003c/p\u003e","url":"https://ropensci.org/es/blog/2023/07/14/launch-champions-program-es/","date_published":"2023-07-14T00:00:01-07:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/9ayr9-dhe30","title":"Los canales de comunicación de rOpenSci para un intercambio seguro y amigable","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad"],"content_html":"\u003cp\u003eTal como \u003ca href=\"/es/blog/2022/11/16/mastodon-es\"\u003elo anticipamos en noviembre del 2022\u003c/a\u003e los cambios aplicados en Twitter han generado un espacio menos seguro y amigable para nuestra comunidad. Es por eso que a partir de \u003cem\u003eJunio de 2023\u003c/em\u003e, dejaremos de interactuar en esa plataforma. Mantendremos la cuenta con la esperanza de poder volver cuando Twitter vuelva a ser un espacio seguro y solidario, pero mientras tanto centraremos nuestros esfuerzos de comunicación en otros lugares.\u003c/p\u003e\u003cp\u003eEntendemos que hasta hoy Twitter ha sido una de las plataformas de referencia para las comunidad de R, de datos, investigación y ciencia abierta pero tenemos que ser responsables ycoherentes con los espacios que elegimos para el intercambio yla interacción y \u003ca href=\"/es/codigo-de-conducta/\"\u003enuestros valores como comunidad\u003c/a\u003e y \u003ca href=\"/about/\"\u003eorganización\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eSin embargo, hay muchos otros espacios en línea que pueden ser utilizados por nuestra comunidad y hemos estado trabajando para desarrollar nuestra presencia en plataformas que nos permitan promover una \u003cem\u003ecomunidad acogedora y diversa\u003c/em\u003e.\u003c/p\u003e\u003cp\u003eTe compartimos todas las vías de comunicación de rOpenSci. Recuerda que siempre puedes visitar la \u003ca href=\"https://contributing.ropensci.org/resources.html#channels\"\u003eGuía de Contribución\u003c/a\u003e para tener más detalles sobre cómo puedes participar en rOpenSci y que beneficios puedes tener al hacerlo.\u003c/p\u003e\u003cp\u003eComo siempre, en todos nuestros espacios y vías de comunicación, nos comprometemos a garantizar espacios seguros, accesibles, abiertos, diversos y amigables.\u003cbr\u003eNuestro \u003ca href=\"https://ropensci.org/code-of-conduct/\"\u003ecódigo de conducta\u003c/a\u003e aplica a todos ellos.\u003c/p\u003e\u003ch2 id=\"mastodon\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mastodon\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMastodon\u003c/h2\u003e\u003cp\u003eEs \u003ca href=\"https://hachyderm.io/@rOpenSci\"\u003ela plataforma a la que migramos en Noviembre\u003c/a\u003e junto con un gran número de comunidades amigas y miembros de nuestra comunidad.Luego de explorar diferentes instancias, seleccionamos una que se alinea a nuestra misión y que nos permite comunicarnos en varios idiomas. También \u003ca href=\"/blog/2023/05/17/scheduling-mastodon/\"\u003edesarrollamos herramientas para compartir nuestro contenido\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"newsletter-y-blog\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#newsletter-y-blog\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNewsletter y Blog\u003c/h2\u003e\u003cp\u003e\u003ca href=\"/news/\"\u003eNuestro boletín mensual\u003c/a\u003e es una actualización permanente de lasnovedades más importantes y el desarrollo de nuestros proyectos,podes suscribirte para recibirlo en tu  o leerlo en nuestra web.En nuestro blog encuentras artículos, notas técnicas, entrevistas y actualizaciones.Podes leerlo desde la web, recibir un resumen con el newsletter o consumirlo desde \u003ca href=\"/rbloggers/index.xml\"\u003eel feed RSS\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"foro-de-debate\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#foro-de-debate\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eForo de debate\u003c/h2\u003e\u003cp\u003eLos intercambios siempre son enriquecedores para nuestro trabajo y es enesos espacios donde surgen nuevos desafíos e ideas. Puedes sumarte a nuestro \u003ca href=\"https://discuss.ropensci.org/\"\u003eforo de debate\u003c/a\u003e. Conoce más sobre \u003ca href=\"/blog/2022/01/11/ropensci-forum/\"\u003ecomo podes interactuar en este espacio\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"eventos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#eventos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEventos\u003c/h2\u003e\u003cp\u003eLas \u003ca href=\"/commcalls/\"\u003ellamadas de la comunidad\u003c/a\u003e, nuestras \u003ca href=\"/events/\"\u003esesiones de trabajo\u003c/a\u003e y nuestra\u003ca href=\"/talks/\"\u003eparticipación en eventos y conferencias\u003c/a\u003e son otros espacios para poder interactuarcon otros miembros de la comunidad y con el equipo de rOpenSci.\u003cbr\u003eChequea nuestro calendario (o lee el newsletter) para saber cuando y donde van a ocurrir.\u003c/p\u003e\u003ch2 id=\"nos-vemos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#nos-vemos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¡Nos vemos!\u003c/h2\u003e\u003cp\u003eAsí que, mientras las cosas cambian, esperamos que puedas seguir uniéndote a nuestra comunidad en espacios en línea nuevos y divertidos, y que podamos seguir apoyándonos mutuamente a lo largo de nuestros viajes hacia una ciencia abierta y reproducible.\u003c/p\u003e\u003cp\u003eSi tenes alguna duda, comentario o sugerencia también podesescribirnos a \u003ca href=\"mailto:info@ropensci.org\"\u003einfo@ropensci.org\u003c/a\u003e. Además, nos encataría escuchar tus sugerencias sobre otros canales que piensas que debemos explorar.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2023/06/14/ropensci-communication-channels-es/","date_published":"2023-06-14T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/3h0a9-pfh70","title":"Conociendo a las estrellas del Universo R: PEcAn, un proyecto de código abierto para cuidar el planeta","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["author"]},{"name":"Chris Black","url":"https://ropensci.org/es/author/chris-black/","avatar":"https://github.com/infotroph.png","_role":["interviewee"]},{"name":"David LeBauer","url":"https://ropensci.org/es/author/david-lebauer/","avatar":"https://github.com/dlebauer.png","_role":["interviewee"]},{"name":"Eric Scott","url":"https://orcid.org/0000-0002-7430-7879","avatar":"https://github.com/Aariq.png","_role":["interviewee"]},{"name":"Lucio Casalla","url":"https://ropensci.org/es/author/lucio-casalla/","avatar":"https://ropensci.org/img/community/lucio-casalla.JPG","_role":["author"]},{"name":"Michael Dietze","url":"https://ropensci.org/es/author/michael-dietze/","avatar":"https://github.com/mdietze.png","_role":["interviewee"]},{"name":"Rob Kooper","url":"https://ropensci.org/es/author/rob-kooper/","avatar":"https://github.com/robkooper.png","_role":["interviewee"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","r-universe","entrevistas","estrellas del universo r"],"content_html":"\u003cp\u003eUn nuevo artículo de nuestra serie de entrevistas \u003ca href=\"/tags/r-universe-stars/\"\u003e\u0026ldquo;Conociendo a las estrellas del universo R\u0026rdquo;\u003c/a\u003e. Nuestro objetivo es presentar a los equipos y personas que están detrás del desarrollo de software y paquetes que utilizamos y que están disponibles a través del R-universe. Queremos destacar y explorar diferentes equipos y proyectos de todo el mundo, el trabajo que realizan, sus procesos y usuarios. Nuestra tercera parada es \u003cstrong\u003eEstados Unidos\u003c/strong\u003e para hablar con representantes del proyecto PEcAn. No te olvides de mirar el video al final del artículo con extractos de la entrevista.\u003c/p\u003e\u003ch4 id=\"el-cambio-climático-y-la-investigación-en-este-ámbito-cuentan-con-datos-diversos-y-complejos-que-exigen-modelos-de-análisis-cada-vez-más-complejos-el-proyecto-pecan-trabaja-para-desarrollar-esta-capacidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-cambio-clim%c3%a1tico-y-la-investigaci%c3%b3n-en-este-%c3%a1mbito-cuentan-con-datos-diversos-y-complejos-que-exigen-modelos-de-an%c3%a1lisis-cada-vez-m%c3%a1s-complejos-el-proyecto-pecan-trabaja-para-desarrollar-esta-capacidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl cambio climático y la investigación en este ámbito cuentan con datos diversos y complejos que exigen modelos de análisis cada vez más complejos. El proyecto PEcAn trabaja para desarrollar esta capacidad.\u003c/h4\u003e\u003cp\u003eEn este nuevo encuentro vamos a adentrarnos en la ciencia del cambio climático y exploraar el desarrollo de herramientas de análisis de datos y modelización de ecosistemas. Ese es el principal objetivo del \u003ca href=\"https://pecanproject.github.io/\"\u003eproyecto PEcAn\u003c/a\u003e donde de manera colaborativa buscan nuevas formas de recopilación y sintetización de datos y desarrollan herramientas accesibles para realizar estas tareas de forma reproducible.\u003c/p\u003e\u003cp\u003eDe la charla participaron Rob Kooper, Chris Black, Eric Scott,  Michael C. Dietze y David LeBauer, todos integrantes del proyecto PEcAn con un mismo objetivo: encontrar más y mejores formas de integrar la enorme cantidad de datos existentes relacionados al cambio climático.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/06/06/r-universe-stars-4-en/team.jpg\"\t\t\talt=\"Foto de perfil de David LeBauer, Michael C. Dietze, Rob Kooper, Eric Scott, y Chris Black.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eDavid LeBauer, Michael C. Dietze, Rob Kooper, Eric Scott y Chris Black\u003c/strong\u003e\u003cbr\u003e\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSegún Michael C. Dietze el proyecto \u003cem\u003e“es como una especie de sistema informático de modelos de datos. Se trata de un conjunto de herramientas que facilitan la combinación de modelos de procesos y datos, con especial atención en los modelos ecológicos”\u003c/em\u003e.\u003c/p\u003e\u003cp\u003eEn la descripción del proyecto, rápidamente aparece el concepto de comunidad. Cuentan con una gran red de personas distribuidas geográfica y estratégicamente que les permite llegar a más estudiantes que participan en distintas partes del proceso y en distintos proyectos. Así, pueden compartir el trabajo con muchas personas al mismo tiempo, contar con un número importante de personas que colaboran y difundir conocimiento más allá de los límites académicos porque, como explica Rob, esos estudiantes seguirán sus desarrollos en otros lugares donde es probable que lleven sus herramientas y paquetes de datos. En esas conexiones y en ese trabajo colaborativo radica gran parte de la fortaleza del proyecto PEcAn.\u003c/p\u003e\u003cp\u003eUn ejemplo de esta práctica es el proyecto que desarrollan con el Laboratorio Nacional de Brooklyn donde trabajan en el monitoreo de carbono de la NASA que utiliza un sistema de simulación de datos. En este caso hay tanto estudiantes de doctorado como investigadores pos doctorales trabajando en el proyecto.\u003c/p\u003e\u003ch2 id=\"un-árbol-que-no-para-de-crecer\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-%c3%a1rbol-que-no-para-de-crecer\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn árbol que no para de crecer\u003c/h2\u003e\u003cp\u003eEn esta estructura de trabajo, uno de los objetivos principales es transformarse en una especie de “Hacker” que resuelvan problemas en un sentido más general que luego puedan ser aplicados en otros contextos y en otras áreas. Según Rob ese conocimiento puede sostenerse y crecer gracias a las investigaciones que se desarrollan en múltiples instituciones como la Universidad de Illinois, la Universidad de Boston, la Universidad de Arizona, la Universidad de Wisconsin y el Laboratorio Nacional de Brookhaven.\u003c/p\u003e\u003cp\u003eEL trabajo con Google Summer of Code, el cual ha ayudado con el desarrollo y promoción de herramientas de modelización de ecosistemas, Chris explica que parte del éxito es que no sólo se trata de una universidad realizando una investigación sino que es un gran equipo de gente, a lo largo de todo el mundo trabajando colavorativamente; y aunque lleva más tiempo, el resultado es utilizado por una comunidad mucho más amplia.\u003c/p\u003e\u003ch2 id=\"hacer-más-en-menos-tiempo-con-estándares\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#hacer-m%c3%a1s-en-menos-tiempo-con-est%c3%a1ndares\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eHacer más en menos tiempo con estándares\u003c/h2\u003e\u003cp\u003eDurante la charla, el equipo compartió el trabajo \u003ca href=\"https://onlinelibrary.wiley.com/doi/pdfdirect/10.1111/gcb.15409\"\u003e\u0026ldquo;Beyond ecosystem modeling: A roadmap to community cyberinfrastructure for ecological data-model integration\u0026rdquo;\u003c/a\u003e como ejemplo, donde explican con un diagrama cómo el proyecto PEcAn facilita \u0026ldquo;352\u0026rdquo; veces la vida de los investigadores que tienen que hacer análisis multi-modelo.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/06/06/r-universe-stars-4-en/diagram.png\"\t\t\talt=\"Un diagrama de flujo que muestra el enfoque con estándares para reducir el trabajo redundante cuando se adoptan formatos comunes. Hay “n” tipos de datos que deben vincularse a “m” modelos de simulación y “k” análisis posteriores a la simulación. En el panel superior, el enfoque convencional en el que los equipos de modelización trabajan de forma independiente requiere implementar n × m diferentes conversiones de entrada y m × k diferentes conversiones de salida. A medida que se añaden datos, modelos y análisis, el esfuerzo se escala cuadráticamente. Por otro lado, el panel inferior muestra que trabajando en comunidad y adoptando formatos comunes y herramientas analíticas compartidas, el número de conversores necesarios para enlazar modelos, datos y análisis se reduce a un problema de m \u0026#43; n y m \u0026#43; k, y se escala linealmente.\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eEnfoque convencional y enfoque con estándares de la modelización. El proyecto PEcAn es un ejemplo del enfoque con estándares para la modelización.\u003c/strong\u003e\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eAl utilizar estándares y disponer de paquetes que pueden resolver la lectura, integración y escritura de todos los datos implicados en el proceso, quienes investigan no necesitan saber cómo funcionan muchos formatos diferentes, ni comunicarse con muchos equipos de investigación distintos, para realizar este tipo de trabajo.\u003c/p\u003e\u003cp\u003eEsto permite a un investigador o investigadora individual ejecutar un conjunto completo de modelos. \u0026ldquo;Hace sólo un par de años, analizar modelos múltiples no era algo accesible para los investigadores individuales\u0026rdquo;, explica Michael.\u003c/p\u003e\u003ch2 id=\"la-experiencia-en-el-universo-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-experiencia-en-el-universo-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa experiencia en el Universo R\u003c/h2\u003e\u003cp\u003eLos paquetes de PEcAn están organizados en distintos grupos, como los paquetes básicos,  herramientas útiles y los módulos que incluyen paquetes para la gestión de datos y también paquetes para hacer análisis estadísticos sobre las entradas y salidas de los modelos.\u003c/p\u003e\u003cp\u003eUno de los puntos más importantes de poder \u003ca href=\"https://pecanproject.r-universe.dev/\"\u003etener todos los paquetes de manera ordenada en el Universo R\u003c/a\u003e es poder simplificar el trabajo de los investigadores e investigadoras. Tener un acceso sencillo y organizado a estos modelos les ahorra años de trabajo y de recursos.\u003c/p\u003e\u003cp\u003eAdemás, con tanta gente trabajando en los paquetes, es más probable que se descubran errores. Aunque el equipo sabe que el código del proyecto PEcAn no está libre de errores, tienen más posibilidades de encontrarlos y corregirlos al tener más ojos mirando lo mismo.\u003c/p\u003e\u003cp\u003eEn el siguiente video, el equipo muestra y cuenta cómo organizan los paquetes en el Universo R y cuáles son las fortalezas de esta herramienta:\u003c/p\u003e\t\t\t\u003cdiv\t\t\t\t\tstyle=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\t\t\t\t\u003ciframe\t\t\t\t\tsrc=\"https://player.vimeo.com/video/829850626?dnt=0\"\t\t\t\t\t\tstyle=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" allow=\"fullscreen\" title=\"Conociendo a las estrellas del Universo R - Proyecto PEcAn\"\u003e\t\t\t\t\u003c/iframe\u003e\t\t\t\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/06/06/r-universe-stars-4-es/","date_published":"2023-06-06T00:00:00+00:00","date_modified":"2025-09-16T09:31:26+02:00"},{"id":"https://doi.org/10.59350/8cd68-2mg97","title":"Conociendo a las estrellas del Universo R: Investigando nuestro cerebro con la magia del universo R","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["author"]},{"name":"Athanasia Mo Mowinckel","url":"https://ropensci.org/es/author/athanasia-mo-mowinckel/","avatar":"https://github.com/drmowinckels.png","_role":["interviewee"]},{"name":"Lucio Casalla","url":"https://ropensci.org/es/author/lucio-casalla/","avatar":"https://ropensci.org/img/community/lucio-casalla.JPG","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","r-universe","entrevistas","estrellas del universo r"],"content_html":"\u003cp\u003eUn nuevo artículo de nuestra serie de entrevistas \u003ca href=\"/tags/r-universe-stars/\"\u003e\u0026ldquo;Conociendo a las estrellas del universo R\u0026rdquo;\u003c/a\u003e. Nuestro objetivo es presentar a los equipos y personas que están detrás del desarrollo de software y paquetes que utilizamos y que están disponibles a través del R-universe. Queremos destacar y explorar diferentes equipos y proyectos de todo el mundo, el trabajo que realizan, sus procesos y usuarios. Nuestra tercera parada es \u003cstrong\u003eNoruega\u003c/strong\u003e para hablar con \u003cstrong\u003eAthanasia Monika Mowinckel\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eTrabajar con el cerebro humano necesita de software específico y desarrollos complejos. Sin embargo R aparece como la forma natural de organizar y compartir cientos de datos que necesitan ser analizados y el Universo R como el lugar más amigable para compartir e invitar a colaborar.\u003c/p\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/team/mo-mentor.png\"\t\t\talt=\"Foto de perfil de Athanasia Monika Mowinckel.\" width=\"300\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eAthanasia Monika Mowinckel\u003c/strong\u003e\u003cbr\u003eInvestigadora e Ingeniera de Software de Investigación\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eAthanasia Monika Mowinckel se presenta simplemente como Mo, tal es su apodo, aunque su historia y su currículum es mucho más extenso e incluye, entre muchas otras cosas, su actual trabajo en el \u003ca href=\"https://www.sv.uio.no/psi/english/research/groups/lcbc/index.html\"\u003eCenter for Lifespan Changes in Brain and Cognition\u003c/a\u003e en la Universidad de Oslo, en Noruega. Allí trabaja como científica y nos cuenta que la mayor parte de sus tareas \u003cem\u003e“tienen que ver con la ingeniería de software de investigación o la gestión de datos de investigación”\u003c/em\u003e y por eso \u003cem\u003e“R es el programa estadístico por defecto que utilizamos para nuestro trabajo diario en el centro, y generamos resultados en forma de paquetes de R”\u003c/em\u003e.\u003c/p\u003e\u003cp\u003eEn su trabajo utilizan software especializado por el tipo de información que necesitan procesar, por ejemplo, imágenes del cerebro. Athanasia explica que al final del día todas sus estadísticas están en R y por eso \u003cem\u003e\u0026ldquo;tener todos nuestros paquetes de R en una caja de herramientas es muy importante para todas las personas que participan y colaboran”.\u003c/em\u003e\u003c/p\u003e\u003cp\u003eAthanasia está trabajando en un proyecto llamado \u003ca href=\"https://www.lifebrain.uio.no/\"\u003eLife Brain\u003c/a\u003e, financiado por la Unión Europea para el proyecto Human Life en el que participan 13 centros europeos. Mo explica que han desarrollado muchas investigaciones, realizado publicaciones y muchos de los resultados se han plasmado en los paquetes de R. Consultada sobre el proyecto, con pasión y gran entusiasmo, Mo cuenta:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEstamos tratando de investigar cómo envejece la gente, cómo es su envejecimiento cerebral, cómo es su envejecimiento cognitivo.\u003c/p\u003e\u003c/blockquote\u003e\u003ch2 id=\"r-universe\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#r-universe\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eR-Universe\u003c/h2\u003e\u003cblockquote\u003e\u003cp\u003eEl universo R llegó en un momento muy oportuno para nosotros\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eAthanasia explica que esta plataforma les ofrece una manera sencilla \u003ca href=\"https://lifebrain.r-universe.dev/\"\u003ede mostrar todo el software sobre el que estuvieron trabajando en el proyecto\u003c/a\u003e. En el desarrollo de las investigaciones que realizan hay distintos tipos y fuentes de financiamiento y aunque tienen una organización colectiva en GitHub necesitaban una forma clara de mostrar todo el trabajo que se encuentran distribuido en distintos repositorios en las cuentas personales de los investigadores o en las cuentas de los centros de investigación. Es por eso que Mo asegura que en el Universo R \u003cem\u003e\u0026ldquo;podemos crear un lugar para todo nuestro universo y así mostrar los paquetes.\u0026rdquo;\u003c/em\u003e\u003c/p\u003e\u003cp\u003eAdemás, Athanasia menciona que un aspecto importante de usar el Universo R, es que queda muy claro quiénes son las personas que desarrollan y las que mantienen el software, y eso significa que cada participante mantiene el crédito por sus contribuciones.\u003c/p\u003e\u003cp\u003eOtro de los usos interesantes del Universo R para compartir trabajo que Mo nos mostró, es la posibilidad de acceder a los datos pero también a algunas funciones extras usadas en el análisis. Por ejemplo, en la encuesta Lifebrain Global Brain Health Survey obtuvieron más de 27 mil respuestas, produjeron artículos y documentos, y \u003cstrong\u003eproporcionan todos los datos y el código\u003c/strong\u003e en el paquete \u003ca href=\"https://lifebrain.r-universe.dev/gbhs\"\u003egbhs\u003c/a\u003e (puedes ver más información sobre este trabajo en el vídeo al final de este artículo).\u003c/p\u003e\u003cfigure class=\"center\"\u003e\u003cimg src=\"/blog/2023/03/30/r-universe-stars-3-en/brain_plot_3.png\"\t\t\talt=\"Figura que muestra dos contornos de un cerebro dibujados con líneas. A la izquierda, una imagen de arriba abajo; a la derecha, una imagen de lado. Ambas muestran manchas de color que resaltan puntos en el centro correspondientes a distintas partes del cerebro.\" width=\"600\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eMapa subcortical graficado con ggseg\u003c/strong\u003e\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eMientras recorremos los paquetes que contiene el Universo R de \u003ca href=\"https://lifebrain.r-universe.dev/\"\u003eLifebrain\u003c/a\u003e, Athanasia nos muestra su mayor orgullo: \u003ca href=\"https://ggseg.r-universe.dev/\"\u003eggseg\u003c/a\u003e, un desarrollo para crear imágenes del cerebro para que puedan ser analizadas desde distintas funciones. Fue precisamente con todo ese trabajo que Mo encontró en el Universo R la solución a una serie de problemas con el tamaño de los datos y la instalación de las herramientas necesarias para trabajar:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eCuando los paquetes de datos son demasiado grandes y no se pueden reducir no es posible publicarlo en CRAN (\u0026hellip;) y aparecen fallas cuando los usuarios quieren instalarlos en su versión de desarrollo que nos llevaban mucho tiempo solucionar y con resultados no óptimos.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eEn ese contexto es cuando el Universo R le presenta una solución definitiva:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEsta es la verdadera solución para poder tener todo lo que trabajamos en el proyecto con una instalación que funciona y no perder más tiempo en solucionar problemas de nuestros usuarios.\u003c/p\u003e\u003c/blockquote\u003e\u003cfigure class=\"center\"\u003e\u003cimg src=\"/blog/2023/03/30/r-universe-stars-3-en/brain_plots.png\"\t\t\talt=\"Una serie de tres ejemplos de gráficos de diferentes atlas cerebrales. Cada fila muestra cuatro contornos cerebrales con formas de distintos colores.\" width=\"600\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eggseg en acción: graficando atlas del cerebro\u003c/strong\u003e\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eSegún la experiencia de Athanasia el Universo R le permitió publicar todos los paquetes en un sólo lugar, con fácil accesibilidad y la posibilidad de recibir contribuciones, mantenimiento y sin problemas de instalación para los usuarios. En sus propias palabras:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEl Universo R es magia para mi.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eRecordemos que en el Universo R se generan los instaladores para diferentes sistemas operativos de todos los paquetes que pertenecen al universo, sin límites en el tamaño del paquete. Uno de los objetivos de la plataforma es hacer más sencillo publicar e instalar paquetes de R.\u003c/p\u003e\u003cp\u003eEn el siguiente video, Athanasia explica con más detalles el desarrollo de su proyecto Life Brain, la forma en la que utilizan R para organizar y trabajar la información y nos muestra cómo el Universo R les permitió ordenar y compartir todos sus paquetes.\u003c/p\u003e\u003ch2 id=\"video-de-la-entrevista\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#video-de-la-entrevista\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eVideo de la entrevista\u003c/h2\u003e\t\t\t\u003cdiv\t\t\t\t\tstyle=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\t\t\t\t\u003ciframe\t\t\t\t\tsrc=\"https://player.vimeo.com/video/807731911?dnt=0\"\t\t\t\t\t\tstyle=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" allow=\"fullscreen\" title=\"Conociendo a las estrellas del Universo R - Athanasia Monika Mowinckel\"\u003e\t\t\t\t\u003c/iframe\u003e\t\t\t\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/03/30/r-universe-stars-3-es/","date_published":"2023-03-30T00:00:00+00:00","date_modified":"2025-09-16T09:31:26+02:00"},{"id":"https://doi.org/10.59350/ntcs7-40d52","title":"Aprender, ayudar y compartir. El método de ThinkR para crear una comunidad cada vez más grande y amigable de R","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["author"]},{"name":"Lucio Casalla","url":"https://ropensci.org/es/author/lucio-casalla/","avatar":"https://ropensci.org/img/community/lucio-casalla.JPG","_role":["author"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Sébastien Rochette","url":"https://orcid.org/0000-0002-1565-9313","avatar":"https://ropensci.org/img/community/sebastien-rochette.jpeg","_role":["interviewee"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","ayuda","principiante","bienvenidad"],"content_html":"\u003cp\u003eEste es el segundo artículo de nuestra serie de entrevistas \u003ca href=\"/tags/r-universe-stars/\"\u003e\u0026ldquo;Conociendo a las estrellas del universo R\u0026rdquo;\u003c/a\u003e. Nuestro objetivo es presentar a los grupos de trabajo y a las personas que están detrás del desarrollo de software y paquetes que utilizamos y que están disponibles a través del R-Universe. Queremos destacar y explorar diferentes equipos y proyectos de todo el mundo, el trabajo que realizan, sus procesos y las personas que usan sus desarrollos.\u003c/p\u003e\u003cp\u003eContinuamos nuestro viaje en Francia con Sébastien Rochette, experto en R de \u003ca href=\"https://rtask.thinkr.fr\"\u003eThinkR\u003c/a\u003e, una empresa centrada en la enseñanza y la formación, así como en el desarrollo de paquetes R de código abierto. No dejes de ver el \u003ca href=\"2023/02/23/r-universe-stars-2-es/#v%C3%ADdeo-de-la-entrevista\"\u003evídeo\u003c/a\u003e al final con extractos de la entrevista.\u003c/p\u003e\u003cp\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/img/community/sebastien-rochette.jpeg\"\t\t\talt=\"Foto de perfil of Sébastien Rochette.\" width=\"300\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eSébastien Rochette\u003c/strong\u003e\u003cbr\u003eJefe de producción en ThinkR\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003ca href=\"https://rtask.thinkr.fr\"\u003eThinkR\u003c/a\u003e es un equipo de personas expertas y líderes en formación sobre R. Les apasiona el código abierto y contribuir a la comunidad. Y así es como podemos presentar a Sébastien Rochette, como alguien apasionado por su trabajo.\u003c/p\u003e\u003cp\u003eDesde hace 5 años, Sébastien trabaja en esta empresa francesa enseñando, desarrollando y también asesorando a clientes sobre R. El trabajo se divide en dos, la mitad del tiempo para enseñar y la otra mitad para desarrollar herramientas con R:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e“Lo que nos gusta es aprender todo lo que podamos sobre R para poder ayudar a nuestros clientes a seguir trabajando con R y lograr ir más allá en sus compañías”.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eThinkR está certificada por el Estado francés para poder impartir certificaciones R oficiales.  Esto exige una rigurosa auditoría para garantizar la calidad de la enseñanza y del apoyo a los estudiantes. Sébastien explica que tienen \u003ca href=\"https://rtask.thinkr.fr/remote-trainings-and-certification/\"\u003etres niveles de formación en R\u003c/a\u003e:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e\u0026ldquo;El primer nivel es para principiantes, en el que se explica qué es R y cómo crear análisis de datos reproducibles y documentados con R, de modo que puedas obtener rápidamente todas las herramientas esenciales para trabajar con tus propios datos. El segundo nivel es cómo desarrollar paquetes de R porque estamos convencidos de que la mejor forma de compartir y cooperar en un trabajo sostenible es a través de paquetes. Y el tercer nivel es aprender a construir aplicaciones Shiny listas para producción, para lo cual, necesitarás saber cómo construir paquetes.\u0026rdquo;\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eTodos los cursos se imparten a distancia, en grupos reducidos, en una plataforma web preinstalada que han desarrollado, llamada \u003ca href=\"https://thinkr.fr/what-is-bakacode.pdf\"\u003eBakacode\u003c/a\u003e, que garantiza que el material del curso, R y todos los paquetes necesarios ya están instalados y disponibles cuando los asistentes se conectan.\u003c/p\u003e\u003cp\u003eEn esta explicación resumida de su trabajo, Sébastien explica de una manera simple el propósito de la organización:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003e“Ayudar a más personas a adquirir las habilidades necesarias para trabajar con R, difundir y compartir ese aprendizaje, y contribuir a ampliar una comunidad R acogedora y amigable.”\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eLo que ThinkR busca es que sus clientes sean independientes al final de cada servicio, ya sea de formación o de desarrollo a medida. De este modo, los clientes pueden continuar el desarrollo por sí mismos. \u003cem\u003e“Si los clientes quieren volver, los recibimos con las puertas abiertas”\u003c/em\u003e, explica Sébastien y agrega: \u003cem\u003e“pero si consideran que son lo suficientemente autónomos como para continuar por sí mismos, también nos alegramos, ya que principalmente buscamos una comunidad R más grande y amigable.”\u003c/em\u003e La autonomía de los clientes para trabajar es un valor importante dentro de la empresa.\u003c/p\u003e\u003ch2 id=\"el-valor-de-la-enseñanza\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-valor-de-la-ense%c3%b1anza\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl valor de la enseñanza\u003c/h2\u003e\u003cp\u003eSébastien explica que en ThinkR aplican una lógica de trabajo que relaciona la enseñanza con la consultoría: \u003cem\u003e“Para ser buen docente, hay que meter las manos en el código y así conocer los desafíos de tus clientes (\u0026hellip;) y para ser un buen consultor tienes que enseñar para poder explicar de manera clara y sencilla lo que haces, cómo y porqué lo haces”\u003c/em\u003e. Es por esto que en la empresa intentan pasar tiempo en ambos lugares: en la docencia y en la consultoría.\u003c/p\u003e\u003cp\u003eEsto también implica compartir sus conocimientos a través de \u003ca href=\"https://rtask.thinkr.fr/blog/\"\u003eartículos de blog\u003c/a\u003e y \u003ca href=\"https://thinkr.fr/blog/\"\u003etutoriales\u003c/a\u003e, un \u003ca href=\"https://engineering-shiny.org/\"\u003elibro\u003c/a\u003e, presencia y financiación de conferencias y otros eventos comunitarios a distancia o in situ.\u003c/p\u003e\u003ch2 id=\"código-abierto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3digo-abierto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCódigo abierto\u003c/h2\u003e\u003cp\u003eLa tercera parte de la que habla Sébastien es el código abierto. Explica que en la empresa dedican al menos un día a la semana a desarrollos de código abierto. Entienden que toda la empresa trabaja con código abierto y que es importante devolver algo a la comunidad a través del desarrollo y la contribución de paquetes R.\u003c/p\u003e\u003cp\u003eThinkR desarrolla múltiples paquetes para sus propias necesidades, y la gran mayoría de ellos son de código abierto. Si es útil para ellos, puede serlo para otras personas. De hecho, entre estos paquetes, encontrarás herramientas que ayudan a desarrollar productos de R documentados, probados y mantenibles: \u003ca href=\"https://thinkr-open.r-universe.dev/fusen#\"\u003e{fusen}\u003c/a\u003e para facilitar la construcción y distribución de paquetes R listos para producción mientras se permanece en un entorno Rmarkdown, \u003ca href=\"https://thinkr-open.r-universe.dev/golem#\"\u003e{golem}\u003c/a\u003e para estructurar la construcción de aplicaciones shiny listas para producción, \u003ca href=\"https://thinkr-open.r-universe.dev/attachment\"\u003e{attachment}\u003c/a\u003e para ayudar a lidiar con las dependencias de paquetes o \u003ca href=\"https://thinkr-open.r-universe.dev/checkhelper#\"\u003e{checkhelper}\u003c/a\u003e para automatizar algunas comprobaciones extra antes del envío a CRAN.\u003c/p\u003e\u003cfigure class=\"center\"\u003e\u003cimg src=\"/blog/2023/02/28/r-universe-stars-2-en/R-universe%20thinkr-open.png\"\t\t\talt=\"R-Universe de ThinkR\" width=\"600\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eR-Universe de ThinkR\u003c/strong\u003e\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eHay otras herramientas en el \u003ca href=\"https://thinkr-open.r-universe.dev/\"\u003eUniverso R de ThinkR\u003c/a\u003e. Todo se reduce a proporcionar herramientas que permitan a más y más personas construir bases robustas, sostenibles y mantenibles para trabajar con sus datos, analizarlos y compartirlos de una manera más sencilla.\u003c/p\u003e\u003ch2 id=\"la-experiencia-en-el-universo-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-experiencia-en-el-universo-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa experiencia en el Universo R\u003c/h2\u003e\u003cp\u003ePara cumplir con el objetivo de ayudar a sus clientes de la manera más sencilla posible es que la compañía llega al Universo R donde pueden registrar cada uno de los procesos y las herramientas desarrolladas de manera ordenada y con información útil.En el video que incluye esta nota podrán ver un ejemplo de cómo Sébastien y ThinkR se ven en el Universo R.\u003c/p\u003e\u003cp\u003eThinkR encontró en R-universe una plataforma flexible para poder publicar y generar los instaladores de todos sus paquetes. Esta funcionalidad facilita a sus clientes y a otras personas el acceso y uso de las últimas versiones de sus paquetes. Los orígenes de los paquetes son transparentes y han evitado las limitaciones de las instalaciones directas de GitHub.\u003c/p\u003e\u003cp\u003eTambién facilita la actualización y disponibilidad de estos paquetes porque R-universe no tiene políticas de cambio y actualización estrictas y con tiempos límites.\u003c/p\u003e\u003cp\u003eFinalmente, encuentran muy útiles la funcionalidad de generar las viñetas y que estén disponibles en el espacio del paquete en R-Universe.\u003c/p\u003e\u003ch2 id=\"video-de-la-entrevista\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#video-de-la-entrevista\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eVideo de la entrevista\u003c/h2\u003e\u003cp\u003eSi quieres escuchar más detalles sobre la experiencia, no dejes de ver al protagonista en el vídeo con extractos de la entrevista. Puedes activar los subtítulos.\u003c/p\u003e\t\t\t\u003cdiv\t\t\t\t\tstyle=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\t\t\t\t\u003ciframe\t\t\t\t\tsrc=\"https://player.vimeo.com/video/800166375?dnt=0\"\t\t\t\t\t\tstyle=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" allow=\"fullscreen\" title=\"Entrevista a Sébastien Rochette\"\u003e\t\t\t\t\u003c/iframe\u003e\t\t\t\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/02/28/r-universe-stars-2-es/","date_published":"2023-02-28T00:00:00+00:00","date_modified":"2025-09-16T09:31:26+02:00"},{"id":"https://doi.org/10.59350/ezag5-nby66","title":"Descubrir y aprender todo lo que hay que saber sobre los paquetes de R utilizando r-universe","language":"es","authors":[{"name":"Jeroen Ooms","url":"https://orcid.org/0000-0002-4035-0289","avatar":"https://ropensci.org/img/team/jeroen_ooms.jpg","_role":["author"]}],"tags":["registro","búsqueda","paquetes","tablero de indicadores","notas técnicas"],"content_html":"\u003ch2 id=\"encontrar-la-herramienta-adecuada-para-el-trabajo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#encontrar-la-herramienta-adecuada-para-el-trabajo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEncontrar la herramienta adecuada para el trabajo\u003c/h2\u003e\u003cp\u003eLo más difícil de usar R con eficacia es encontrar los mejores paquetes para el problema que intentas resolver. Creo que esto es incluso, más importante que dominar el lenguaje en sí. Cosa que irás adquiriendo a medida que empieces a utilizar R con más frecuencia. Sin embargo, construir tu código sobre bases fiables es esencial para obtener buenos resultados, y difícil de arreglar más adelante en un proyecto.\u003c/p\u003e\u003cp\u003eHay unos 20.000 paquetes en CRAN, y más en otras redes como BioConductor y GitHub. Todos los días se publican nuevos paquetes. Las personas que desarrollan son una mezcla de voluntarios y voluntarias, desde ingenieros de software profesionales hasta estudiantes y aficionadas. La calidad y el alcance de los paquetes varían enormemente, lo que puede hacer difícil juzgar qué herramientas son la mejor opción para una tarea determinada.\u003c/p\u003e\u003cp\u003eEl objetivo último de \u003ca href=\"https://r-universe.dev\"\u003er-universe\u003c/a\u003e es ayudarte a navegar eficazmente por el ecosistema de R para descubrir lo que hay disponible, hacerte una idea de la finalidad y la calidad de cada paquete, del equipo que los desarrolla y empezar a utilizar estos paquetes inmediatamente y sin complicaciones.\u003c/p\u003e\u003ch2 id=\"tres-niveles-de-navegación-en-r-universe\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#tres-niveles-de-navegaci%c3%b3n-en-r-universe\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eTres niveles de navegación en r-universe\u003c/h2\u003e\u003cp\u003ePodemos distinguir tres niveles de navegación en r-universe cuando vayas a buscar paquetes de R:\u003c/p\u003e\u003col\u003e\u003cli\u003eBuscar en el ecosistema global: encontrar paquetes, por tema, palabra clave, clasificación, etc.\u003c/li\u003e\u003cli\u003eBusca por la persona/organización que lo mantiene: explora todo el trabajo de un grupo o de un investigador o investigadora particular.\u003c/li\u003e\u003cli\u003eBusca por el paquete individual: obtén información detallada sobre todo lo que hay que saber sobre un proyecto e instrucciones para empezar a utilizarlo.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eSi recien empiezas con R o estás explorando paquetes para una determinada tarea, puedes empezar buscando todo lo que hay utilizando el motor de búsqueda r-universe. Una vez que te familiarices con el ecosistema, puede que te interese acercarte a un conjunto específico de paquetes de una determinada persona u organización y con el tiempo aprender más sobre los detalles de paquetes concretos.\u003c/p\u003e\u003ch2 id=\"nivel-1-buscar-en-todo-el-ecosistema-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#nivel-1-buscar-en-todo-el-ecosistema-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNivel 1: buscar en todo el ecosistema R\u003c/h2\u003e\u003cp\u003eLa página de inicio en \u003ca href=\"https://r-universe.dev\"\u003ehttps://r-universe.dev\u003c/a\u003e te lleva directamente al motor de búsqueda global. Aquí puedes realizar una búsqueda de texto libre de una palabra clave, que se coteja con nombres de paquetes, descripciones, temas y títulos de páginas de manuales, viñetas, etc. Los resultados se ordenan mediante una combinación de una puntuación de coincidencia (con qué frecuencia y dónde aparece el término buscado), y una clasificación de calidad\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e.\u003c/p\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/search1.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/search1.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cp\u003eLa parte derecha del cuadro de búsqueda contiene un botón de expansión que revela los filtros de la búsqueda avanzada. Aquí puedes introducir criterios de búsqueda más detallados, para que coincidan específicamente con campos concretos. Por ejemplo, puedes buscar paquetes de un autor determinado, o que tengan una función o dependencia específica.\u003c/p\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/search2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/search2.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/search2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/search3.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/search3.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/search3.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/search4.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/search4.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/search4.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eLa página de búsqueda también muestra una lista aleatoria de organizaciones que publican paquetes de R (ordenados por actividad reciente), que es una forma divertida de descubrir lo que se está desarrollando actualmente en el ecosistema de R.\u003c/p\u003e\u003ch2 id=\"nivel-2-explorar-el-trabajo-de-una-organización-o-una-persona\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#nivel-2-explorar-el-trabajo-de-una-organizaci%c3%b3n-o-una-persona\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNivel 2: explorar el trabajo de una organización o una persona\u003c/h2\u003e\u003cp\u003eCada persona y organización presente en r-universe tiene un subdominio único bajo \u003ccode\u003er-universe.dev\u003c/code\u003e con un repositorio personal de paquetes tipo CRAN desde el que se pueden instalar directamente los paquetes. Por ejemplo, los paquetes y la información de rOpenSci pueden encontrarse en \u003ca href=\"https://ropensci.r-universe.dev\"\u003ehttps://ropensci.r-universe.dev\u003c/a\u003e y los paquetes que yo mantengo están listados en \u003ca href=\"https://jeroen.r-universe.dev\"\u003ehttps://jeroen.r-universe.dev\u003c/a\u003e (observa cómo se solapan estos dos conjuntos).\u003c/p\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/user1.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/user1.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cp\u003eLas pestañas superiores te permiten explorar diferentes recursos dentro del universo. La página \u003cstrong\u003ebuilds\u003c/strong\u003e (compilaciones) muestra el estado actual del repositorio: una tabla con el nombre y la versión de cada paquete, incluyendo la fecha de confirmación, el/la autor/a y el estado de compilación. Hacer clic en el nombre del paquete en la tabla te envía a la página principal de ese paquete (daré más detalles más adelante), y el nombre de la persona que mantiene el paquete enlaza con el subdominio de esa persona, que enumera otros proyectos mantenidos por esta persona.\u003c/p\u003e\u003cp\u003eLa página \u003cstrong\u003epackages\u003c/strong\u003e (paquetes) muestra información descriptiva de todos los paquetes del repositorio, y la pestaña \u003cstrong\u003earticles\u003c/strong\u003e (artículos) muestra todos los documentos (por ejemplo, viñetas). La página \u003cstrong\u003econtributors\u003c/strong\u003e (colaboradores) muestra un gráfico con las estadísticas de quienes colaboran con la organización o con esa persona. Hacer clic en una barra del gráfico te envía a este otro universo donde puedes explorar más trabajos de esta persona.\u003c/p\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/user2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/user2.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/user2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/user3.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/user3.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/user3.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/user4.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/user4.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/user4.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eEl mismo subdominio aloja el repositorio real de paquetes tipo CRAN para este usuario/a u organización. Por tanto, para listar o instalar paquetes de rOpenSci en R, utilizarías:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Lista los paquetes disponibles\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eavailable.packages\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003erepos\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;https://ropensci.r-universe.dev\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Instala un paquete\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003einstall.packages\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;magick\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003erepos\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;https://ropensci.r-universe.dev\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003ch2 id=\"nivel-3-información-individual-de-los-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#nivel-3-informaci%c3%b3n-individual-de-los-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNivel 3: información individual de los paquetes\u003c/h2\u003e\u003cp\u003eFinalmente llegamos al nivel de paquete individual. Hacer clic en un paquete en los resultados de la búsqueda o en una visión general del universo te llevará a la página de inicio de ese paquete. También puedes enlazar directamente con esta página a través de la url \u003ccode\u003ehttps://{owner}.r-universe.dev/{package}\u003c/code\u003e por ejemplo \u003ca href=\"https://r-spatial.r-universe.dev/sf\"\u003ehttps://r-spatial.r-universe.dev/sf\u003c/a\u003e abajo.\u003c/p\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package1.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package1.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cp\u003eEstas páginas de paquetes se generan automáticamente y proporcionan información detallada sobre cada proyecto, así como toda la información y recursos para instalar y probar rápidamente el paquete localmente en R.\u003c/p\u003e\u003ch3 id=\"información-del-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#informaci%c3%b3n-del-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eInformación del paquete\u003c/h3\u003e\u003cp\u003eLa sección inicial de la página de inicio muestra datos descriptivos y enlaces a recursos de este paquete, como los archivos fuente/binarios, el manual del paquete y el archivo NEWS. Más abajo mostramos las instrucciones de instalación para instalar el paquete en R. La instalación es rápida y sencilla porque proporcionamos binarios precompilados para Windows y MacOS, por lo que no se necesitan herramientas ni configuraciones especiales en la máquina del usuario.\u003c/p\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/package2.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package2.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package2.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/package21.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package21.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package21.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/package4.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package4.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package4.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eAquí también puedes encontrar más información derivada por el sistema de construcción, como sobre qué bibliotecas del sistema construye el paquete, temas y si el paquete está en CRAN. Las etiquetas debajo muestran estadísticas sobre el paquete, como dependencias, dependencias inversas y estrellas de GitHub. Haciendo clic en la etiqueta \u0026ldquo;exports\u0026rdquo; se muestran todas las funciones y conjuntos de datos exportados por el paquete, que enlazan con las secciones respectivas de la página del manual. Si se especifica, también mostramos cómo debe citarse el paquete en los artículos.\u003c/p\u003e\u003ch3 id=\"toda-la-documentación\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#toda-la-documentaci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eToda la documentación\u003c/h3\u003e\u003cp\u003ePara que puedas empezar a utilizar los paquetes lo antes posible, r-universe ofrece toda la documentación disponible y la presenta de la forma más clara y concisa posible en la página de inicio.\u003c/p\u003e\u003cp\u003eLa mayoría de los paquetes de R tienen 3 formas de documentación: un archivo léeme (README), un manual de referencia (páginas de ayuda) y una serie de artículos (viñetas). Estos artículos suelen ser un buen punto de partida, y aparecen en la página principal del paquete, justo debajo de los descriptivos. Desde aquí puedes ver tanto el documento html/pdf renderizado, como el archivo fuente rmarkdown utilizado para (re)producir el artículo.\u003c/p\u003e\u003cdiv class=\"gallery caption-position-bottom caption-effect-slide hover-effect-zoom hover-transition\" itemscope itemtype=\"http://schema.org/ImageGallery\"\u003e\t  \u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/package3.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package3.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package3.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/package5.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package5.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package5.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\" style=\"background-image: url('/blog/2023/02/27/runiverse-discovering/package6.png');\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package6.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package6.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003c/div\u003e\u003cp\u003eMás abajo puedes ver el contenido del \u0026ldquo;README\u0026rdquo; del paquete. Hoy en día, la mayoría de los paquetes incluyen un archivo README.md que se puede convertir en HTML.\u003c/p\u003e\u003cp\u003eDespués del README sigue una sección llamada \u0026ldquo;manual de referencia\u0026rdquo; que contiene una tabla con todas las páginas de ayuda. Éstas enlazan con los respectivos capítulos del manual de referencia html\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e, que proporciona la documentación más extensa de cada función del paquete, incluyendo descripciones, parámetros, ejemplos, etc.\u003c/p\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/refman.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/refman.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003ch3 id=\"actividad-de-uso-y-desarrollo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#actividad-de-uso-y-desarrollo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eActividad de uso y desarrollo\u003c/h3\u003e\u003cp\u003eAdemás de familiarizarte con lo que hace el paquete, puede que te interese saber quién está trabajando en él, quién más lo utiliza y si sigue desarrollándose activamente.\u003c/p\u003e\u003cp\u003eLa sección \u0026ldquo;\u0026ldquo;development and contributors\u0026rdquo; (desarrollo y colaboraciones) muestra un gráfico de barras con el número de commits por semana durante el último año, y quiénes son los y las principales colaboradores y colaboradoras. Por último, la sección \u0026ldquo;usage by other packages\u0026rdquo; (uso por otros paquetes) muestra otros paquetes de r-universo que dependen de este paquete, agrupados por propietario/a. Esto te da una idea de lo activo que es el proyecto y de quién está participando.\u003c/p\u003e\u003cdiv class=\"box\" \u003e  \u003cfigure  itemprop=\"associatedMedia\" itemscope itemtype=\"http://schema.org/ImageObject\"\u003e    \u003cdiv class=\"img\"\u003e      \u003cimg itemprop=\"thumbnail\" src=\"/blog/2023/02/27/runiverse-discovering/package7.png\" /\u003e    \u003c/div\u003e    \u003ca href=\"/blog/2023/02/27/runiverse-discovering/package7.png\" itemprop=\"contentUrl\" aria-disabled=\"true\"\u003e\u003c/a\u003e  \u003c/figure\u003e\u003c/div\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEste post ha explicado diferentes formas en las que puedes utilizar \u003ca href=\"https://r-universe.dev\"\u003er-universe\u003c/a\u003e para explorar los paquetes de R. La página \u003ca href=\"https://r-universe.dev/search\"\u003emotor de búsqueda\u003c/a\u003e te permite encontrar paquetes de cualquier parte del ecosistema que coincidan con determinadas palabras clave o criterios específicos. Es un buen lugar para informarse y hacerse una idea de lo que hay disponible en un dominio determinado.\u003c/p\u003e\u003cp\u003eUna vez que te familiarices con el ecosistema, puede que te interese hacer zoom en un conjunto específico de paquetes de un determinado grupo o investigador/a. La estructura de dominios de r-universe te permite explorar paquetes y artículos por organización, y descubrir trabajos relacionados con las personas que los mantienen, colaboran o los usan.\u003c/p\u003e\u003cp\u003ePor último, para cada paquete R, r-universe proporciona una hermosa página de inicio que contiene abundante información en: \u003ccode\u003ehttps://{owner}.r-universe.dev/{package}\u003c/code\u003e. Esta página muestra exactamente de qué trata un paquete, quién lo está desarrollando, el estado del proyecto, y también proporciona toda la documentación y las instrucciones de instalación, muy bien representadas, para empezar a utilizar el paquete inmediatamente, sin complicaciones.\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eMás información sobre esta clasificación: \u003ca href=\"https://github.com/r-universe-org/help#how-is-the-package-rank-score-calculated\"\u003e¿cómo se calcula la puntuación de la clasificación por paquetes?\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eEntrada en el blog: \u003ca href=\"/blog/2022/11/29/postdoc-docs/\"\u003epostdoc 1.0: manuales de paquetes HTML mínimos y claros\u003c/a\u003e.\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/02/27/runiverse-discovering-es/","date_published":"2023-02-27T00:00:00+00:00","date_modified":"2025-09-15T08:32:13+02:00"},{"id":"https://doi.org/10.59350/gzh5d-qzk48","title":"Puntapié inicial de nuestro programa de campeonas y campeones","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","campeones"],"content_html":"\u003ch2 id=\"el-programa-de-campeones-arrancó-con-todo-este-2023\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-programa-de-campeones-arranc%c3%b3-con-todo-este-2023\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¡El programa de campeones arrancó con todo este 2023!\u003c/h2\u003e\u003cp\u003eNos complace informar sobre los dos primeros meses de nuestro primer programa \u003ca href=\"/champions/\"\u003ede campeones y campeonas\u003c/a\u003e. En septiembre de 2022 hicimos el lanzamiento del programa, anunciando el llamado a aplicar a personas que quisieran participar.\u003c/p\u003e\u003cp\u003eRecibimos un total de 102 solicitudes de 31 países diferentes. Setenta y cuatro solicitudes eran para campeones o campeonas y veintiocho para tareas de mentoreo. La comunidad de rOpenSci está muy agradecida con todas las personas que se han interesado y aplicaron a nuestro programa.\u003c/p\u003e\u003cp\u003eLas y los aspirantes podían elegir una de tres opciones de proyecto: El \u003cstrong\u003e51%\u003c/strong\u003e optó por \u003cstrong\u003edesarrollar un nuevo paquete\u003c/strong\u003e, el \u003cstrong\u003e25%\u003c/strong\u003e por participar en nuestro \u003cstrong\u003eproceso de revisión\u003c/strong\u003e y el \u003cstrong\u003e24%\u003c/strong\u003e por \u003cstrong\u003epresentar un paquete a nuestro proceso de revisión\u003c/strong\u003e por pares.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/02/21/champions-program-kick-off/countriesApplications.png\"\t\t\talt=\"Mapa del mundo con los países coloreados según el número de solicitudes. Se muestran aplicaciones en América, Europa, Oceanía, Asia y África (en ese orden con respecto al número de solicitudes).\"\u003e\u003c/figure\u003e\u003cp\u003eDespués de revisar cuidadosamente cada solicitud, seleccionamos diez campeonas/es y diez mentoras/es para esta primera cohorte.  \u003cstrong\u003eTres\u003c/strong\u003e personas \u003cstrong\u003edesarrollarán un nuevo paquete\u003c/strong\u003e, \u003cstrong\u003ecuatro\u003c/strong\u003e \u003cstrong\u003eprepararán y someterán su paquete al proceso de revisión\u003c/strong\u003e, y \u003cstrong\u003etres\u003c/strong\u003e \u003cstrong\u003ese convertirán en revisores y revisoras de rOpenSci\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eLos mentores y las mentoras acompañarán a sus campeones y campeonas durante todo el proceso de ejecución de sus proyectos.\u003c/p\u003e\u003cp\u003eLas personas de esta primera cohorte proceden de \u003cstrong\u003eArgentina, Brasil, Perú, Nigeria, Turquía, Australia, Francia, Noruega, Arabia Saudí, Estados Unidos y Reino Unido\u003c/strong\u003e.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2023/02/21/champions-program-kick-off/ourteam.png\"\t\t\talt=\"Collage de fotos de los y las participantes.\"\u003e\u003c/figure\u003e\u003ch2 id=\"inicio-de-actividades\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#inicio-de-actividades\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eInicio de actividades\u003c/h2\u003e\u003cp\u003eEn enero celebramos las reuniones de lanzamiento del programa. Debido a que nuestros y nuestras participantes tienen una distribución geográfica tan amplia, tuvimos (y tendremos) al menos dos horarios diferentes para todas las actividades planificadas con el fin de adaptarnos a la amplitud de las zonas horarias.\u003c/p\u003e\u003cp\u003eDurante estas reuniones, los y las participantes se presentaron, compartieron de dónde son, de qué trata su proyecto y algo que les entusiasmara del programa. También repasamos la logística, la posible agenda y las actividades programadas.  Nos llenó de satisfacción ver el entusiasmo de las personas participantes por aprender, compartir, ejecutar sus proyectos y devolver algo a la comunidad.\u003c/p\u003e\u003ch2 id=\"capacitación\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#capacitaci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCapacitación\u003c/h2\u003e\u003cp\u003eDurante febrero y marzo, los y las participantes recibirán entrenamiento sobre distintos temas que les proporcionarán herramientas útiles para llevar a cabo sus proyectos.\u003c/p\u003e\u003cp\u003eTambién nos complace anunciar que en abril y mayo realizaremos talleres para quienes no hayan sido seleccionados para ser parte de esta primera cohorte. Estos talleres brindarán a todas las personas que aplicaron la oportunidad de desarrollar habilidades en el desarrollo de software de código abierto para apoyar sus oportunidades profesionales, así como futuras solicitudes a este u otros programas similares.  En marzo publicaremos más detalles sobre estos talleres.\u003c/p\u003e\u003cp\u003eMantente alerta para conocer más sobre esta primera cohorte y sus proyectos.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2023/02/21/champions-program-kick-off-es/","date_published":"2023-02-21T00:00:01-07:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/ykmwy-qnx46","title":"¿Qué significa mantener un paquete?","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]}],"tags":["paquete","mantenimiento"],"content_html":"\u003cp\u003eParte de lo que pretendemos hacer en rOpenSci es fomentar una comunidad de mantenedores de paquetes que se ayuden mutuamente.Además del apoyo durante el mantenimiento de los paquetes, también queremos apoyar a aquellas personas que deseen seguir adelante. Las situaciones pueden cambiar y puede llegar un momento en que un mantenedor quiera pasar el mantenimiento a otra persona. Si alguien se encuentra en esta situación y desea transferir el mantenimiento, le ayudamos de la siguiente manera \u003ca href=\"/blog/2022/10/17/maintain-or-co-maintain-an-ropensci-package/\"\u003eanunciando\u003c/a\u003e y también ayudamos a los nuevos mantenedores con consejos, generalmente del tipo \u0026ldquo;echa un vistazo para ver si hay que arreglar algo, y luego haz el mantenimiento rutinario\u0026rdquo;.Pero, ¿qué es el mantenimiento rutinario? Este post es un intento de definir lo que implica el mantenimiento de paquetes, con algunos consejos.\u003c/p\u003e\u003ch2 id=\"el-mantenimiento-de-paquetes-como-propiedad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-mantenimiento-de-paquetes-como-propiedad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl mantenimiento de paquetes como propiedad\u003c/h2\u003e\u003cp\u003eComo mantenedor de paquetes (o como equipo de mantenedores),\u003c/p\u003e\u003cul\u003e\u003cli\u003eeres responsable del alcance del paquete: ¿Quieres añadir una función? ¡Tú decides!\u003c/li\u003e\u003cli\u003ete encargas de planificar el trabajo en el código base: piensa en mejoras y organízalas en hitos.\u003c/li\u003e\u003cli\u003econtrolas la calidad del código: ¿Quieres dedicar más tiempo a este pull request? ¿O aceptarás y acumularás un poco de \u003ca href=\"https://en.wikipedia.org/wiki/Technical_debt\"\u003edeuda técnica\u003c/a\u003e? De nuevo, ¡tú decides!\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eSin embargo, no sólo te pertenecen estos aspectos técnicos y productivos.En nuestra pasada conversaciones con la comunidad sobre \u003ca href=\"/commcalls/2020-03-18/\"\u003eCómo mantener un paquete R\u003c/a\u003e Erin Grand definió el mantenimiento de un paquete como \u0026ldquo;la propiedad en torno a la comunidad del paquete\u0026rdquo;.Qué gran manera de reconocer las \u003cem\u003epersonas\u003c/em\u003e ¡que crean y utilizan un programa informático!Como mantenedor de paquetes, una de tus funciones es apoyar y fomentar una próspera comunidad de usuarios y colaboradores\u0026hellip; También es el tema de una antigua \u0026ldquo;conversaciones con la comunidad\u0026rdquo;: \u003ca href=\"/commcalls/apr2021-pkg-community/\"\u003eConfigura tu paquete para fomentar una comunidad\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"el-mantenimiento-del-paquete-como-capacidad-de-respuesta\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-mantenimiento-del-paquete-como-capacidad-de-respuesta\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl mantenimiento del Paquete como capacidad de respuesta\u003c/h2\u003e\u003cp\u003eAhora, por desgracia, no te pertenece toda la agenda del mantenimiento de paquetes :sweat_smile:A menos que tu paquete no tenga usuarios visibles, tu trabajo de mantenimiento probablemente consistirá en algún tipo de asistencia al usuario y resolución de problemas.También es posible que recibas peticiones de los mantenedores de las dependencias de tu paquete, o del repositorio en el que publiques tu paquete (CRAN, Bioconductor).\u003c/p\u003e\u003cp\u003eEl apoyo a los usuarios en particular puede ser una fuente de alegría, ver cómo se utiliza tu paquete, ayudar a la gente a superar obstáculos, resolver problemas.Sin embargo, todas estas demandas externas pueden ser agotadoras e incluso estresantes.¿Cómo podemos evitarlo?Por desgracia, es una situación habitual. Sin embargo, aunque no existe una solución mágica, he aquí algunas cosas que podrían ayudar.\u003c/p\u003e\u003cul\u003e\u003cli\u003eMantener el paquete en equipo puede ayudar a compartir la carga, y también pueden proporcionar un canal secundario para desahogarse. Si crees que te vendría bien algo de ayuda práctica, considera la posibilidad de invitar a algunos co-mantenedores al proyecto.\u003c/li\u003e\u003cli\u003eSi quieres ayuda, pero no necesariamente práctica, considera la posibilidad de chatear con otros mantenedores. Pueden hablar de fallos concretos o problemas de programación, o de consejos generales para la gestión o participación de la comunidad. Incluso puedes simplemente compartir algunas penas y conseguir compasión. rOpenSci tiene un canal #mantenimiento-de-paquetes en su \u003ca href=\"https://contributing.ropensci.org/resources.html#channels\"\u003eslack semiabierto\u003c/a\u003e al que todos los mantenedores de paquetes de rOpenSci deberían tener acceso (envíanos un correo electrónico si no es así).\u003c/li\u003e\u003cli\u003eNo es necesario que te ocupes de todos los problemas en cuanto aparezcan (aparte de los estrictos plazos de CRAN, claro). Puedes planificar periodos de actividad e inactividad en tu repositorio, pudiendo indicarlo claramente en un \u003cem\u003eissue\u003c/em\u003e anclado o en la documentación. El manual de objetivos explica \u003ca href=\"https://books.ropensci.org/targets/help.html#out-of-office\"\u003eperiodos de inactividad\u003c/a\u003e pero fuera de la oficina también podría ser el estado más habitual de tu paquete, con actividad en ráfagas. Tu paquete, ¡tú eliges!\u003c/li\u003e\u003cli\u003ePuedes ajustar tus pautas de contribución con el tiempo. No es ninguna vergüenza pedir a un usuario que proporcione una \u003cem\u003ereprex\u003c/em\u003e en lugar de pasarse horas adivinando el significado del texto de su \u003cem\u003eissue\u003c/em\u003e. Mediante dirigir la contribución y dar explicaciones amables, puedes trasladar las preguntas generales sobre tu paquete a un lugar donde te resulte más fácil, por ejemplo, Discusiones de GitHub en lugar de Temas.\u003c/li\u003e\u003cli\u003eAsegúrate de que captas las notificaciones (¿aparece tu dirección de correo electrónico correcta, vigilas tu propio repositorio?). No es necesario que las leas o actúes en consecuencia inmediatamente, pero es bueno no perderlas.\u003c/li\u003e\u003cli\u003ePuedes elegir dónde se publica tu paquete. Si las normas de un repositorio de publicación son una fuente de demasiado dolor en comparación con la facilidad de distribución, puedes optar por no publicarlo allí.\u003c/li\u003e\u003cli\u003eTambién puedes intentar encontrar financiación para tu trabajo. Consulta, por ejemplo, la página \u003ca href=\"https://www.r-consortium.org/all-projects/call-for-proposals\"\u003eConvocatoria de propuestas del Consorcio R\u003c/a\u003e (dos veces al año).\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"mantenimiento-de-paquetes-como-limpieza\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mantenimiento-de-paquetes-como-limpieza\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMantenimiento de paquetes como limpieza\u003c/h2\u003e\u003cp\u003eAdemás de las interesantes peticiones de funciones, el mantenimiento de los paquetes suele justificar un trabajo más \u0026ldquo;rutinario\u0026rdquo;.\u003c/p\u003e\u003cp\u003eTal vez quieras intentar mantenerte al día con las mejores prácticas de desarrollo de paquetes (y de las directrices externas :sweat_smile:) a través de los canales de desarrollo de paquetes.Recuerda que el \u003ca href=\"/news\"\u003eBoletín rOpenSci\u003c/a\u003e tiene un Rincón de Desarrollo de Paquetes \u0026#x1f609;Tras las preguntas sobre, por ejemplo, el \u003ca href=\"https://discuss.ropensci.org/\"\u003eforo rOpenSci\u003c/a\u003e o en el foro de la comunidad Posit \u003ca href=\"https://community.rstudio.com/c/package-development/11\"\u003eCategoría Desarrollo de paquetes\u003c/a\u003e puede ser una forma de seguimiento de las noticias y de práctica deliberada.Con esa lectura/seguimiento, puede que llegues a una nueva comprensión de un método de prueba, puede que descubras que es mejor cambiar una dependencia por otra, etc.\u003c/p\u003e\u003cp\u003eAhora bien, ¿cuándo y cómo mejoras tu paquete?Podrías intentar saldar alguna deuda técnica cada vez que planifiques algún trabajo sobre una característica.Podrías imitar la \u003ca href=\"/blog/2022/03/18/ropensci-news-digest-march-2022/#get-inspired-by-the-tidyverse-spring-cleaning\"\u003elimpieza de primavera de tidyverse\u003c/a\u003e tanto en lo que se refiere a la idea como a los elementos reales que figuran en la lista de comprobación pública, como la actualización de las configuraciones de integración continua.Si ese trabajo no te parece divertido, hacerlo en equipo puede ayudarte, o puedes unirte a una \u003ca href=\"/events\"\u003esesión de co-trabajo de rOpenSci\u003c/a\u003e para disponer de un tiempo dedicado a trabajar en el mantenimiento regular de paquetes en un entorno divertido.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn este post hemos intentado dar una visión general de lo que implica mantener un paquete: propiedad del ámbito, del código y de la comunidad; capacidad de respuesta autocontrolada a las peticiones externas; mantenimiento regular.Todo esto puede suponer mucho trabajo, y hay que apreciarlo con las recompensas que se obtienen como desarrollador de paquetes (dependiendo de tu situación, pueden ser: la satisfacción personal de crear una herramienta útil; la alegría de colaborar con otros; ingresos; desarrollar experiencia en codificación; demostrar tus habilidades; obtener reconocimiento por tu trabajo).\u003c/p\u003e\u003cp\u003eSi la balanza no está equilibrada, considera tus necesidades. Puede que sea el momento de intentar reclutar co-mantenedores o unirte a una comunidad de otros desarrolladores, o incluso de encontrar un nuevo mantenedor o retirar el paquete.En el caso de los paquetes rOpenSci, podemos ayudar anunciando la necesidad de ayuda de tu paquete, así que no dudes en ponerte en contacto con nosotros.Por último, pero no por ello menos importante, en rOpenSci queremos dar las gracias a todos los mantenedores de paquetes, ¡pasados, presentes y futuros! El trabajo que hacen, hicieron o harán es valioso e impresionante, ¡y realmente lo apreciamos!\u003c/p\u003e\u003cp\u003eSiempre estamos pensando en formas de apoyar a los mantenedores de paquetes. No dudes en añadir un comentario más abajo con cualquier sugerencia que puedas tener.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2023/02/07/what-does-it-mean-to-maintain-a-package/","date_published":"2023-02-07T00:00:00+00:00","date_modified":"2025-09-15T08:15:06-03:00"},{"id":"https://doi.org/10.59350/vxmk4-h9q51","title":"Agrandando nuestra comunidad con publicaciones multi-idioma","language":"es","authors":[{"name":"Elio Campitelli","url":"https://ropensci.org/es/author/elio-campitelli/","avatar":"https://ropensci.org/img/team/elio-campitelli.jpg","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Pao Corrales","url":"https://orcid.org/0000-0003-1923-9129","avatar":"https://ropensci.org/img/team/paola-corrales.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","multilingüe"],"content_html":"\u003cp\u003eNos agrada anunciar que, con el aporte de Chan Zuckerberg Initiative, NumFOCUS y R Consortium, estamos comenzando el proceso de traducir los materiales de rOpenSci sobre buenas prácticas de desarrollo de software, revisión de código y contribución a proyectos de código abierto al español.Como parte de este esfuerzo, también estamos desarrollando guías y herramientas para traducir recursos de código abierto y alcanzar una mayor audiencia.\u003c/p\u003e\u003cp\u003eDe acuerdo a un \u003ca href=\"https://www.linuxfoundation.org/research/the-2021-linux-foundation-report-on-diversity-equity-and-inclusion-in-open-source\"\u003ereporte reciente\u003c/a\u003e de The Linux Foundation, el \u003cem\u003eacceso de lenguaje\u003c/em\u003e  es una de las \u003cem\u003ebarreras a la equidad en el código abierto\u003c/em\u003e. El reporte explica que:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eEl idioma hegemónico en la comunidad de código abierto es inglés, tanto en el código como en el contenido las interacciones de la comundiad. El nivel de inglés es una métrica a partir de la cual se juzgan el desempeño y la personalidad.\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e.\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eEsto puede recordar la conocida \u003ca href=\"https://www.imdb.com/title/tt4166966/characters/nm0005527\"\u003ecita\u003c/a\u003e de la serie \u003ca href=\"https://www.tiktok.com/@primevideouk/video/6899066588121713921\"\u003eModern Family\u003c/a\u003e donde Gloria grita:\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003eSabés lo inteligente que soy en español?\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eAl publicar recursos en múltiples idiomas, podemos reducir estas barreras al facilitar y democratizar el acceso al conocimiento y recursos de calidad.Esto permite que potencialmente más personas contribuyan a proyectos de software y ciencia abierta.\u003c/p\u003e\u003ch2 id=\"representación-de-idiomas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#representaci%c3%b3n-de-idiomas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRepresentación de idiomas\u003c/h2\u003e\u003cp\u003eLa comunidad hispanohablante ha crecido en tamaño y activodad en estos años.Estas actividades incluyen varios escuerzos de traducción de materiales técnicos como libros, hojas de ayuda, guías y conjuntos de datos.\u003c/p\u003e\u003cp\u003eEn 2017, varias R-Ladies de latinoamérica comenzaron a traducir el \u003ca href=\"https://github.com/rladies/starter-kit/wiki/Code-of-Conduct#spanish\"\u003eCódigo de Conducta\u003c/a\u003e y las Reglas y consejos de R-Ladies al español.\u003c/p\u003e\u003cp\u003eEn 2018, la comunidad de R en latinoamética hizo \u003ca href=\"https://youtu.be/kuHjpdgkSxg\"\u003euna traducción colectiva\u003c/a\u003e al español del libro \u003ca href=\"https://es.r4ds.hadley.nz/\"\u003eR para ciencia de datos\u003c/a\u003e.Esto incluyó traducir todos los conjuntos de datos utilizados en el libro y compilarlos en el paquete \u003ca href=\"https://github.com/cienciadedatos/datos\"\u003edatos\u003c/a\u003e, el cual es una excelente herramienta para la enseñanza.\u003c/p\u003e\u003cp\u003eLas traducciones comunitarias también incluyeron el libro \u003ca href=\"https://teachtogether.tech/es/index.html\"\u003eEnseñar tecnología en comunidad\u003c/a\u003e, las \u003ca href=\"https://posit.co/resources/cheatsheets/?type=translations/#translation-12\"\u003ehojas de ayuda de Posit\u003c/a\u003e y las lecciones de \u003ca href=\"https://programminghistorian.org/es/\"\u003eThe Programming Historian\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eImpulsada por esta comunidad hispanohablante activa y en crecimiento, rOpenSCi \u003ca href=\"/blog/2021/07/27/censo2017\"\u003eprobó con éxito\u003c/a\u003e nuestra primera revisión por pares en la que tanto el envío como las revisiones y las repuestas editoriales fueron en español.\u003c/p\u003e\u003cp\u003e¡Todo este trabajo y experiencia previa crearon las condiciones perfectas para que comenzáramos a publicar en español!El español es el segundo idioma con más personas hablantes nativas en el mundo y uno de los idiomas más extendidos geográficamente al ser el idioma oficial de muchos países\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e.\u003c/p\u003e\u003ch2 id=\"a-materiales-técnicos-soluciones-técnicas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#a-materiales-t%c3%a9cnicos-soluciones-t%c3%a9cnicas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eA materiales técnicos, soluciones técnicas.\u003c/h2\u003e\u003cp\u003erOpenSci provee apoyo comunitario, estándares e infraestructura a personas que investigan o que usan R para desarrollar, mantener y publicar software de investigación de alta calidad y de código abierto.También desarrollamos y mantenemos documentación de alta calidad y \u003ca href=\"/resources/\"\u003erecursos de apoyo\u003c/a\u003e para estas actividades.\u003c/p\u003e\u003cp\u003eLa publicación de documentación y recursos en múltiples idiomas incluye dos aspectos:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eLa \u003cem\u003einternacionalización\u003c/em\u003e es la solución tecnológica que permite que un software se adapte a diversas regiones sin necesitar cambios en el código fuente. Esto es lo que nos permite\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eLa \u003cem\u003elocalización\u003c/em\u003e es el proceso de tomar contenido original y adaptarlo para que sea más accesible o apropiado para otra región, país o audiencia \u003csup id=\"fnref:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e. Esto incluye idioma, formatos de fecha, monedas, unidades de medida y soporte a diferentes conjuntos de caracteres.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLas traducciones técnicas de documentos vivos además tienen dos etapas bien diferenciadas que requieren distintos recursos:\u003c/p\u003e\u003col\u003e\u003cli\u003eobtener una primera versión del material traducido;\u003c/li\u003e\u003cli\u003emantener el material actualizado y sincronizado entre todos los idiomas.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eExisten muchas soluciones para internacionalizar y localizar contenido y software.La \u003cem\u003etraducción\u003c/em\u003e es en general la parte que más tiempo requiere\u003csup id=\"fnref1:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e.\u003c/p\u003e\u003cp\u003eEn base a nuestras experiencias previas y las características de nuestra comunidad, este proyecto busca completar la primera etapa con una traducción inicial al español de los materiales de rOpenSci y probando un flujo de trabajo de traducción.\u003c/p\u003e\u003cp\u003eNuestro enfoque es probar y desarrollar un flujo de trabajo que crea una versión inicial de los documentos usando el traductor automático \u003ca href=\"https://www.deepl.com\"\u003eDeepL\u003c/a\u003e.Personas con conocimiento en ambos idiomas y en desarrollo de software luego la revisan usando GitHub.\u003c/p\u003e\u003cp\u003eEste flujo de trabajo reduce el tiempo necesario para llegar a una traducción de calidad.Quienes revisan la traducción se centran en tareas lingüísticas, como el uso de lenguaje inclusivo, localización de los ejemplos, la traducción correcta de frases, metáforas o analogías.También buscan material de referencia en el idioma de la traducción.Si este flujo de trabajo termina siendo útil, puede incorporarse en la infraestructura para mantener textos sincronizados entre distintos idiomas en vistas de solucionar los problemas de la segunda etapa.\u003c/p\u003e\u003cp\u003eAdemás de sistematizar experiencias, otros productos de este proyecto serán:\u003c/p\u003e\u003cul\u003e\u003cli\u003euna guía general con reglas para seguir al traducir documentos técnicos;\u003c/li\u003e\u003cli\u003euna guía específica para el idioma español;\u003c/li\u003e\u003cli\u003euna lista de términos técnicos traducidos al español y una lista de términos que no se traducen;\u003c/li\u003e\u003cli\u003eun paquete de R que encapsulan uestro flujo de trabajo para traducir documentos técnicos.\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"construyendo-comunidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#construyendo-comunidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConstruyendo comunidad\u003c/h2\u003e\u003cp\u003ePublicar en múltiples idiomas va a ayudar a democratizar el acceso a recursos de calidad para aprender y enseñar las habilidades digitales necesarias para contribuir a proyectos de código abierto y participar en ciencia abierta y reproducible.\u003c/p\u003e\u003cp\u003eEn rOpenSci creemos que la revisión es un es un proceso que construye una comunidad.Desarrollar el material para nuestro proceso de revisión en español nos permite continuar construyendo la comunidad en regiones hispanohablantes (como latinoamérica), tener más personas que contribuyen y recibir comentarios sobre cómo nuestras herramientas y procesos pueden mejorarse para que les sirvan a estas comunidades.\u003c/p\u003e\u003cp\u003eAdemás de aprender a desarrollar, mantener, revisar o editar, los mimebros de la comunidad pueden contribuir traducciones.Esto suele ser una buena primera contribución y es reconocida por la comunidad.\u003c/p\u003e\u003cp\u003eTambién esperamos que la documentación y las herramientas de este proyecto sirvan para extender este esfuerzo a otros idiomas, comunidades y proyectos.\u003c/p\u003e\u003ch3 id=\"fuentes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#fuentes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eFuentes\u003c/h3\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eHilary Carter y Jessica Groopman, “Diversity, Equity, and Inclusion in Open Source: Exploring the Challenges and Opportunities to Create Equity and Agency Across Open Source Ecosystems”, prefacio de Jim Zemlin, The Linux Foundation, diciembre, 2021, \u003ca href=\"https://www.linuxfoundation.org/research/the-2021-linux-foundation-report-on-diversity-equity-and-inclusion-in-open-source\"\u003ehttps://www.linuxfoundation.org/research/the-2021-linux-foundation-report-on-diversity-equity-and-inclusion-in-open-source\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eLenguas por número de hablantes nativos. Accedido el 1ro de diciembre de 20022. \u003ca href=\"https://es.wikipedia.org/wiki/Anexo:Lenguas_por_n%C3%BAmero_de_hablantes_nativos\"\u003ehttps://es.wikipedia.org/wiki/Anexo:Lenguas_por_n%C3%BAmero_de_hablantes_nativos\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:3\"\u003e\u003cp\u003eInternacionalización y localización. Accedido el 1ro de diciembre de 20022. \u003ca href=\"https://es.wikipedia.org/wiki/Internacionalizaci%C3%B3n_y_localizaci%C3%B3n\"\u003ehttps://es.wikipedia.org/wiki/Internacionalizaci%C3%B3n_y_localizaci%C3%B3n\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref1:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2023/01/12/multilingual-publishing-es/","date_published":"2023-01-12T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/14nw0-map38","title":"Conociendo a las estrellas del universo R: comunidad R, intercambiar y aprender","language":"es","authors":[{"name":"Alejandra Bellini","url":"https://ropensci.org/es/author/alejandra-bellini/","avatar":"https://ropensci.org/img/community/ale-bellini.jpeg","_role":["author"]},{"name":"Juan Pablo Ruiz Nicolini","url":"https://orcid.org/0000-0002-3138-6343","avatar":"https://ropensci.org/img/community/ruiz-nicolini.jpg","_role":["interviewee"]},{"name":"Lucio Casalla","url":"https://ropensci.org/es/author/lucio-casalla/","avatar":"https://ropensci.org/img/community/lucio-casalla.JPG","_role":["author"]},{"name":"Pablo Tiscornia","url":"https://ropensci.org/es/author/pablo-tiscornia/","avatar":"https://ropensci.org/img/community/pablo-tiscornia.jpeg","_role":["interviewee"]},{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["editor"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","ayuda","principiante","bienvenidad"],"content_html":"\u003cp\u003eEsta es la primera entrega de nuestra serie de entrevistas \u003cstrong\u003e\u0026ldquo;Conociendo a las estrellas del universo R\u0026rdquo;\u003c/strong\u003e. Tenemos como objetivo introducir los grupos de trabajo y las personas que están detrás del desarrollo del software y paquetes que muchos utilizamos y que se encuentran disponibles en \u003cem\u003eR-Universe\u003c/em\u003e.  Queremos resaltar y conocer diferentes proyectos alrededor del mundo, el trabajo que hacen, sus procesos y usuarios. Iniciamos nuestro recorrido en \u003cem\u003eArgentina\u003c/em\u003e y con un equipo que utiliza R y desarrolla paquetes de R en el estado Argentino (no dejes de ver el \u003ca href=\"#video-de-la-entrevista\"\u003evídeo\u003c/a\u003e con extractos de la entrevista).\u003c/p\u003e\u003ch2 id=\"la-experiencia-de-trabajar-con-paquetes-de-r-en-el-estado-argentino\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-experiencia-de-trabajar-con-paquetes-de-r-en-el-estado-argentino\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa experiencia de trabajar con paquetes de R en el estado argentino\u003c/h2\u003e\u003cp\u003eHace dos años, \u003ca href=\"https://twitter.com/TuQmano\"\u003eJuan Pablo Ruiz Nicolini\u003c/a\u003e (también conocido como el \u003cem\u003eTucu\u003c/em\u003e) fue invitado a formar parte de la Dirección de Mercados y Estadística del Ministerio de Deporte y Turismo de la Nación, a cargo de Matías Lammens. Como parte de su trabajo, Juan Pablo dirige un equipo que gestiona un gran volumen de datos y con posibilidades de utilizar esos datos con múltiples objetivos. Por estas razones tienen a R y a la comunidad de R como un actor sumamente importante en su trabajo.\u003c/p\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/blog/2022/11/23/r-universe-stars-1-en/tq-picture.jpg\"\t\t\talt=\"Foto de perfil de Juan Pablo Ruiz Nicolini.\" width=\"300\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003eJuan Pablo Ruiz Nicolini\u003c/strong\u003e\u003cbr\u003eDirector Nacional de Mercados y Estadísticas \u003cbr\u003ede la Subsecretaría de Desarrollo Estratégico del \u003cbr\u003eMinisterio de Turismo y Deportes de la Nación.\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eEl equipo de trabajo con el que cuentan es grande en comparación con otras reparticiones del Estado similares y con proyectos permanentes de gran envergadura como los que desarrollan en conjunto con el INDEC (Instituto Nacional de Estadísticas y Censos de la Argentina).\u003c/p\u003e\u003cp\u003e\u003cem\u003e“Cuando empezamos, nuestro diagnóstico fue que había un montón de cosas buenísimas, un montón de datos, un montón de procesos (\u0026hellip;) había mucho espacio para sacarle jugo a toda esa información que estaba viviendo adentro de las computadoras de los equipos que trabajaban en la dirección”\u003c/em\u003e, así explica Juan Pablo el desafío y la oportunidad que representaba sumarse a esa oficina.La idea además era poder compartir toda es información hacia afuera y con procesos accesibles para distintos públicos.\u003c/p\u003e\u003cp\u003eDesde un comienzo, el proceso incluyó varios pasos. Primero tomaron la decisión de que los paquetes de R y el software libre eran el camino. Después vino la etapa de la capacitación interna.\u003c/p\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/blog/2022/11/23/r-universe-stars-1-en/pablo-picture.jpeg\"\t\t\talt=\"Foto de perfil de Pablo Tiscornia.\" width=\"300\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003e\u003ccenter\u003e\u003cstrong\u003ePablo Tiscornia\u003c/strong\u003e\u003cbr\u003eCoordinador de procesos.\u003cbr\u003eMinisterio de Turismo y Deportes de la Nación. \u003cbr\u003eDirección Nacional de Mercados y Estadísticas.\u003c/center\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003e\u003ca href=\"https://twitter.com/pabblo_h\"\u003ePablo Tiscornia\u003c/a\u003e forma parte del equipo de \u003cem\u003eel Tucu\u003c/em\u003e y explica que el punto de partida del trabajo, en una oficina que hasta hace poco tiempo combinaba procesos manuales y casi todo estaba en software propietario, fue la filosofía del software libre sumada a todo lo que comunidad de R venía ofreciendo en la región. Tanto Pablo como \u003cem\u003eel Tucu\u003c/em\u003e se encontraron con un equipo de 17 personas aproximadamente que trabajaban de alguna manera con procesamiento de datos y que todos estaban muy involucrados con los procesos: \u003cem\u003e“Primero, necesitábamos resolver una dinámica de trabajo interna (\u0026hellip;) había mucho para hacer y hoy, creo que de esas 17 personas, 15, 14 todas saben abrir R, saben armar un Script y saben involucrarse en el proceso de trabajo que definimos desde que se tiene un dato hasta que se lo comunica al final.”\u003c/em\u003e\u003c/p\u003e\u003cp\u003eEn esta etapa el objetivo estaba cumplido: que el equipo conozca la herramienta y conozca la dinámica de trabajo que habían definido como la más adecuada.\u003c/p\u003e\u003cp\u003eEl segundo paso era \u003cem\u003e\u0026ldquo;abrir el proceso”\u003c/em\u003e además de \u003cem\u003e“mejorar el flujo de trabajo”\u003c/em\u003e. Pablo explica que también incorporaron la \u003cem\u003e“dinámica de un estado abierto con una apertura de proceso,  de no ocultar cómo hacemos las cosas”\u003c/em\u003e. Un concepto que incluye en un futuro también la posibilidad de recibir aportes de la comunidad y de poner a revisión sus propios códigos.\u003c/p\u003e\u003cp\u003eComo todos los procesos son complejos y en muchos casos con pasos en simultáneos y hasta “caóticos”, como lo relata el \u003cem\u003eTucu\u003c/em\u003e, donde distintas personas con conocimientos diversos hicieron sus aportes para poder diseñar los proyectos que hoy tienen en desarrollo.\u003c/p\u003e\u003cp\u003eEl \u003cem\u003eTucu\u003c/em\u003e pone como ejemplo la \u003cem\u003ereunión de los jueves\u003c/em\u003e donde muestran y comparten sus códigos para que otras personas puedan utilizarlos en otras partes del proceso: \u003cem\u003e“Hacemos código en vivo donde planteamos dudas y hacemos ejercicios (\u0026hellip;) tratamos de generar una dinámica en la cual vamos compartiendo de una manera hasta lúdica a veces, mostrando cada parte que van haciendo para ser compartida con los demás.”\u003c/em\u003e\u003c/p\u003e\u003ch2 id=\"software-libre-y-en-nuestro-idioma\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#software-libre-y-en-nuestro-idioma\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSoftware libre y en nuestro idioma\u003c/h2\u003e\u003cp\u003eAdemás de la gratuidad del software libre y de la importancia del manejo de los recursos para un estado, Pablo Tiscornia explica lo que aparece casi como una declaración de principios: \u003cem\u003e“Es una filosofía de trabajo y de concepción sobre cómo desarrollamos y promovemos el conocimiento. Creo que somos gracias al software libre, lo que hoy podemos darle al estado; entonces sería casi un acto irresponsable no promover lo que a nosotros nos formó.”\u003c/em\u003eJuan Pablo refuerza la idea con su experiencia personal: \u003cem\u003e“Yo era un tesista de maestría en ciencias políticas y hace siete años me obligué a hacer la tesis en R para aprender (\u0026hellip;) y lo que rápidamente encontré, por suerte, fue la comunidad de R”.\u003c/em\u003e\u003c/p\u003e\u003cblockquote\u003e\u003cp\u003ey lo que rápidamente encontré, por suerte, fue la comunidad de R”\u003cstrong\u003eIntercambiar con la comunidad y aprender de la comunidad parece ser el mantra principal de la comunidad R que tanto el Tucu como Pablo comparten con el equipo.\u003c/strong\u003e\u003c/p\u003e\u003c/blockquote\u003e\u003cp\u003eAdemás suman dos objetivos importantes para todo el proceso: allanar el lenguaje de programación R y transformarlo en accesible para todas las personas, incluso para quienes no vengan necesariamente de la programación, y \u0026ldquo;desarrollar los paquetes \u003cem\u003elo más en castellano posible que se pueda”\u003c/em\u003e. El objetivo era el mismo, reducir las barreras para el equipo: \u003cem\u003eno tener que pensar si el equipo sabe o no inglés o si el idioma se transforma en una barrera para realizar el trabajo.\u003c/em\u003e\u003c/p\u003e\u003ch2 id=\"un-trabajo-para-la-comunidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-trabajo-para-la-comunidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn trabajo para la comunidad\u003c/h2\u003e\u003cp\u003eLos públicos que reciben el trabajo que se desarrolla en el área de turismo son múltiples.\u003c/p\u003e\u003cfigure class=\"pull-left\"\u003e\u003cimg src=\"/blog/2022/11/23/r-universe-stars-1-en/sinta.png\"\t\t\talt=\"Pagina de inicio del sistema SINTA con accesos a sus conjuntos de datos abiertos\" width=\"380\"\u003e\u003c/figure\u003e\u003cp\u003eHoy cuentan con un sitio llamado \u003ca href=\"https://www.yvera.tur.ar/sinta/\"\u003eSINTA (Sistema de Información Turístico de la Argentina)\u003c/a\u003e donde presentan de manera ordenada las \u003cem\u003e“distintas maneras de entrarle a la información”\u003c/em\u003e. Juan Pablo explica que \u003cem\u003e“el trabajo fue ir desarrollando herramientas, y en esto R tiene mucho que ver, para poder acercarle la información a distintos públicos”\u003c/em\u003e.\u003c/p\u003e\u003cp\u003eEsos públicos incluyen el académico (personas que investigan y enseñan), las distintas oficinas de diferentes niveles de estado que necesitan de esos datos, la dirección para la que trabajan que utiliza la información para la toma de decisiones y el establecimiento de políticas públicas y también para todas las personas que quieran interactuar con la información que se encuentra en el portal de datos abiertos.\u003c/p\u003e\u003c/br\u003e\u003ch2 id=\"la-experiencia-r-universe\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-experiencia-r-universe\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa experiencia R-universe\u003c/h2\u003e\u003cp\u003eEl concepto de comunidad tiene mucha relación con las redes sociales y de comunicación y fue precisamente Twitter la que acercó por primera vez a Juan Pablo a \u003ca href=\"https://r-universe.dev/search/\"\u003eR-Universe\u003c/a\u003e donde descubrió \u003ca href=\"/blog/2021/09/21/creando-tu-r-universe/\"\u003eel paso a paso sobre cómo construir su propio universo de R\u003c/a\u003e.\u003c/p\u003e\u003cp\u003e\u003cem\u003e“Es el siguiente lugar medio lógico en esto de estar compartiendo las cosas que estamos haciendo hacia fuera, era poder disponibilizar también a los paquetes que están en nuestro GitHub, es poder abrir nuestro pequeño mercadito, nuestro mini CRAN (\u0026hellip;) y R-universe sirve para compartir ahí las librerías que estamos empezando a armar”\u003c/em\u003e, así explica el \u003cem\u003eTucu\u003c/em\u003e el primer uso que le dieron a la plataforma y agrega: \u003cem\u003e“Lo que me parece espectacular, es cómo se va modificando en el tiempo, lo completo que es la manera de visualizar todo el desarrollo que uno está compartiendo en R-Universe”\u003c/em\u003e.\u003c/p\u003e\u003cp\u003ePablo agrega que desarrollar paquetes fue el paso lógico en el proceso, después de la capacitación y de la incorporación del lenguaje R a la oficina: \u003cem\u003e“Armamos, por un lado, las herramientas que nos mejoraban el flujo de trabajo, el paquete \u003ca href=\"https://dnme-minturdep.r-universe.dev/ui#package:herramientas\"\u003e{Herramientas}\u003c/a\u003e. Y por el otro, el paquete de \u003ca href=\"https://dnme-minturdep.r-universe.dev/ui#package:comunicacion\"\u003e{Comunicación}\u003c/a\u003e donde la idea era principalmente y hoy todavía sigue siendo, mejorar el flujo de trabajo de nuestro equipo, de nuestro día a día”\u003c/em\u003e.\u003c/p\u003e\u003cfigure class=\"pull-right\"\u003e\u003cimg src=\"/blog/2022/11/23/r-universe-stars-1-en/dnme-r-universe.png\"\t\t\talt=\"Perfil de r-universe con los paquetes de la Dirección\" width=\"500\"\u003e\u003c/figure\u003e\u003cp\u003eTanto Pablo como Juan Pablo coinciden en que el principal potencial de R-universe para la oficina es \u003cem\u003epoder alojar todos los paquetes que tienen en desarrollo.\u003c/em\u003e Pablo lo define así: \u003cem\u003e“El principal uso que hoy le veo a priori es ser un gran armario en donde poner todas nuestras cajas de herramientas y que incluso también podamos mostrar eso (\u0026hellip;) que tenemos un \u003ca href=\"https://dnme-minturdep.r-universe.dev/ui#packages\"\u003earmario de herramientas que tienen un sentido común y que tienen una filosofía común de trabajo también\u003c/a\u003e”\u003c/em\u003e.\u003c/p\u003e\u003cp\u003eEl trabajo de Juan Pablo y de Pablo como el de R-universe se inscriben en un mundo que ha cambiado sus estructuras y tal como lo definen en la charla. En palabras de Pablo: \u003cem\u003e“Estamos en un mundo en donde la programación ya no es de programadores en término de quien estudió para eso estamos en un mundo en donde hay muchas personas que colaboran y quieren colaborar con solo una parte o un granito de arena”\u003c/em\u003e.\u003c/p\u003e\u003cp\u003eJuan Pablo finaliza diciendo: \u003cem\u003e“Hay más barreras que se pueden seguir bajando y sobre todo para quienes no venimos de la programación, venimos de las ciencias sociales y empezamos a programar y empezamos a usar herramientas que nos facilitaron el trabajo.\u0026rdquo;\u003c/em\u003e y lo más importante, \u003cem\u003e\u0026ldquo;que además lo podemos hacer en castellano”\u003c/em\u003e.\u003c/p\u003e\u003ch2 id=\"video-de-la-entrevista\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#video-de-la-entrevista\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eVideo de la entrevista\u003c/h2\u003e\u003cp\u003eSi quieres escuchar más detalles sobre la experiencia, no dejes de ver a los protagonistas en el vídeo con extractos de la entrevista. Puedes activar los subtítulos en español y en inglés.\u003c/p\u003e\t\t\t\u003cdiv\t\t\t\t\tstyle=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"\u003e\t\t\t\t\u003ciframe\t\t\t\t\tsrc=\"https://player.vimeo.com/video/759138370?dnt=0\"\t\t\t\t\t\tstyle=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;\" allow=\"fullscreen\" title=\"Entrevista a Juan Pablo y Pablo\"\u003e\t\t\t\t\u003c/iframe\u003e\t\t\t\u003c/div\u003e","url":"https://ropensci.org/es/blog/2022/11/23/r-universe-stars-1-es/","date_published":"2022-11-23T00:00:00+00:00","date_modified":"2025-09-16T09:31:26+02:00"},{"id":"https://doi.org/10.59350/anty5-8zt93","title":"Canales de comunicación de rOpenSci: Twitter","language":"es","authors":[{"name":"Steffi LaZerte","url":"https://orcid.org/0000-0002-7690-8360","avatar":"https://github.com/steffilazerte.png","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad"],"content_html":"\u003cp\u003eTwitter es una de las plataformas y redes sociales preferidas por la comunidad de R y por las comunidades de datos, ciencia abierta e investigación. Desde el comienzo de rOpenSci hemos utilizado Twitter para conectarnos con nuestra comunidad y otras comunidades similares, para compartir lo que hacemos y para formar parte de las conversaciones en torno a los temas importantes para nuestra \u003ca href=\"/about/\"\u003emisión\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eNuestro objetivo es proporcionar un espacio seguro y amigable para todas las personas que son parte de nuestra comunidad, y esto influye en cómo elegimos los espacios que utilizamos para interactuar.\u003c/p\u003e\u003cp\u003ePor ello, nos preocupan los recientes cambios anunciados por Twitter (como la reducción o pérdida de la moderación de contenidos, entre otras cosas) que pueden hacer que se convierta en un lugar menos seguro y accesible para nuestra comunidad.\u003c/p\u003e\u003cp\u003ePor el momento, basándonos en discusiones internas e \u003ca href=\"https://carpentries.org/blog/2022/11/community-statement-twitter/\"\u003einspirándonos en las medidas de otras comunidades\u003c/a\u003e, vamos a\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eSeguir publicando en Twitter para asegurarnos de que conectamos con el mayor número posible de personas de nuestra comunidad.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eContinuar desarrollando nuestra \u003ca href=\"https://hachyderm.io/@rOpenSci\"\u003epresencia en Mastodon\u003c/a\u003e, la plataforma a la que han migrado un número importante de las y los miembros de nuestra comunidad.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eExplorar instancias alternativas de Mastodon que nos permitan comunicarnos en varios idiomas (no solo en inglés) y colaborar con comunidades hermanas.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eCentrar más nuestros esfuerzos de comunicación en nuestras otras plataformas, como nuestro \u003ca href=\"/news\"\u003eboletín mensual\u003c/a\u003e, nuestro \u003ca href=\"https://discuss.ropensci.org\"\u003eforo de debate\u003c/a\u003e y nuestro \u003ca href=\"/blog\"\u003eblog\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eSeguir vigilando los cambios en Twitter para determinar si seguiremos utilizando esta plataforma.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLa ciencia abierta y reproducible es nuestra pasión, y creemos firmemente que una de las mejores formas de promover estos conceptos es garantizar que nuestros espacios comunitarios sean seguros, accesibles y abiertos; lugares donde las discusiones y el desarrollo sean diversos y amistosos y donde puedan confluir muchas opiniones.\u003c/p\u003e\u003cp\u003eSi tienes preguntas, dudas o comentarios, puedes ponerte en contacto con nosotros por correo electrónico a \u003cem\u003e\u003ca href=\"mailto:info@ropensci.org\"\u003einfo@ropensci.org\u003c/a\u003e\u003c/em\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/11/16/mastodon-es/","date_published":"2022-11-16T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/a2ecx-pek94","title":"Usos interesantes de censo2017 un año después de su publicación","language":"es","authors":[{"name":"Mauricio Vargas Sepúlveda","url":"https://ropensci.org/es/author/mauricio-vargas-sep%C3%BAlveda/","avatar":"https://github.com/pachadotdev.png","_role":["author"]}],"tags":["ciencia-abierta","notas técnicas","investigación reproducible","acceso a datos","extracción de datos","geoespacial","comunidad","Revisión por pares de software","censo2017"],"content_html":"\u003ch2 id=\"resumen\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#resumen\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eResumen\u003c/h2\u003e\u003cp\u003eEste artículo trata sobre los usos sorprendentes que he observado y las preguntasque recibo sobre el paquete R \u003ca href=\"https://docs.ropensci.org/censo2017\"\u003ecenso2017\u003c/a\u003e, una herramienta paraacceder a los datos del censo chileno de 2017, que he recibido desde que fue revisado por paresa través de rOpenSci hace un año. El \u003ca href=\"/blog/2021/07/27/censo2017/\"\u003eartículo original\u003c/a\u003e sobre elpaquete no cubría los diferentes ejemplos que presento aquí,incluyendo una versión Python del paquete R.\u003c/p\u003e\u003ch2 id=\"organizar-los-datos-del-censo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#organizar-los-datos-del-censo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eOrganizar los datos del censo\u003c/h2\u003e\u003cp\u003e\u003ca href=\"/blog/2021/07/27/censo2017/\"\u003eHace tres años\u003c/a\u003e, tuve que realizar una tarea que me exigíaextraer los datos de un software sólo para Windows en formato DVD, lo que se hizo muycomplicado.\u003c/p\u003e\u003cp\u003eNecesitaba acceder a los archivos REDATAM y obtener unos resúmenes de poblacióncon un software específico para ese formato. Para mi sorpresa, la tarea fueincreíblemente difícil, y exporté los datos a SQL para unaextracción de datos más accesible.\u003c/p\u003e\u003cp\u003eLo que inicialmente organicé en PostgreSQL, terminó siendo organizado en unabase de datos local (embebida), que es más conveniente para los usuarios finales ypuede instalarse con dos líneas de código.\u003c/p\u003e\u003cp\u003eInstalación en R:\u003c/p\u003e\u003cpre\u003e\u003ccode\u003eremotes::install_github(\u0026quot;ropensci/censo2017\u0026quot;)censo2017::censo_descargar()\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eInstalación en Python:\u003c/p\u003e\u003cpre\u003e\u003ccode\u003epip install git+https://github.com/pachadotdev/censo2017python.git#egg=censo2017import censo2017censo2017.descargar()\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"uso-inesperado-i-viviendas-precarias-en-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#uso-inesperado-i-viviendas-precarias-en-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUso inesperado I: Viviendas precarias (en R)\u003c/h2\u003e\u003cp\u003ePodemos utilizar los datos del censo para determinar dónde son comunes las viviendas precarias,lo que nos permite obtener ideas valiosas para la política pública. Esto es algo que nunca contemplé cuandohice el software.\u003c/p\u003e\u003cp\u003e¿Qué tipo de información sobre la vivienda podemos buscar en el censo? Para simplificarvamos a explorar la variable \u003ccode\u003ep01\u003c/code\u003e, que podemos consultar en la tabla\u003ccode\u003evariables_codificación\u003c/code\u003e, la cual creé para organizar mi trabajo.\u003c/p\u003e\u003cpre\u003e\u003ccode\u003elibrary(censo2017)library(dplyr)con \u0026lt;- censo_conectar()tbl(con, \u0026quot;variables\u0026quot;) %\u0026gt;%   filter(variable == \u0026quot;p01\u0026quot;) %\u0026gt;%   collect() %\u0026gt;%   kable()\u003c/code\u003e\u003c/pre\u003e\u003ctable\u003e\u003cthead\u003e\u003ctr class=\"header\"\u003e\u003cth style=\"text-align: left;\"\u003etabla\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003evariable\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003edescripcion\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003etipo\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003erango\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: left;\"\u003eviviendas\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003ep01\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eTipo de Vivienda\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003einteger\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003e1 - 10\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cpre\u003e\u003ccode\u003etbl(con, \u0026quot;variables_codificacion\u0026quot;) %\u0026gt;%   filter(variable == \u0026quot;p01\u0026quot;) %\u0026gt;%   select(valor, descripcion) %\u0026gt;%   collect() %\u0026gt;%   kable()\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eLa variable se refiere al \u0026ldquo;Tipo de Vivienda\u0026rdquo; y contiene diez valores numéricos que significan:\u003c/p\u003e\u003ctable\u003e\u003cthead\u003e\u003ctr class=\"header\"\u003e\u003cth style=\"text-align: right;\"\u003evalor\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003edescripcion\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e1\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eCasa\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e2\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eDepartamento en Edificio\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e3\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Tradicional Indígena (Ruka, PaePae u Otras)\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e4\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003ePieza en Casa Antigua o enConventillo\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e5\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMediagua, Mejora, Rancho o Choza\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e6\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMóvil (Carpa, Casa Rodante o Similar)\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e7\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOtro Tipo de Vivienda Particular\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e8\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Colectiva\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e9\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Personas en Tránsito (No EsVivienda)\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e10\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Calle (No Es Vivienda)\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e11\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eValor Perdido\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e0\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eNo Aplica\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cp\u003eEn este ejemplo, considero las viviendas codificadas como 5 (Mediagua, Mejora, Rancho o Choza) como subestándar. Debido a la organización de los datos del censo, para obtener la proporción de estos tiposde vivienda por región, necesitamos\u003c/p\u003e\u003col\u003e\u003cli\u003eCrear el código de cada división política (es decir, región) a partir delcódigo geográfico de la tabla de zonas.\u003c/li\u003e\u003cli\u003eUnir la tabla de zonas con la tabla de viviendas para hacer coincidir cada unidad consu ubicación (por ejemplo, el hogar ID 100 está en la región \u0026ldquo;Los Ríos (14)\u0026rdquo;).\u003c/li\u003e\u003cli\u003eAgrupar por \u003ccode\u003ep01\u003c/code\u003e y contar el número de unidades.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003ePor ejemplo, si queremos ver la 14ava región específicamente, una forma de hacerlo podría ser:\u003c/p\u003e\u003cpre\u003e\u003ccode\u003etbl(con, \u0026quot;zonas\u0026quot;) %\u0026gt;%   mutate(region = str_sub(geocodigo, 1, 2)) %\u0026gt;%   filter(region == 14) %\u0026gt;%     inner_join(tbl(con, \u0026quot;viviendas\u0026quot;)) %\u0026gt;%     group_by(p01) %\u0026gt;%   count() %\u0026gt;%     collect() %\u0026gt;%   kable()\u003c/code\u003e\u003c/pre\u003e\u003ctable\u003e\u003cthead\u003e\u003ctr class=\"header\"\u003e\u003cth style=\"text-align: right;\"\u003ep01\u003c/th\u003e\u003cth style=\"text-align: right;\"\u003en\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e1\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e144081\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e2\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e4793\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e3\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e44\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e4\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e494\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e5\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e2187\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e6\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e35\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e7\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1875\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e8\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e467\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e9\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e6\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e10\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e8\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cp\u003ePodemos mejorar esta salida con una unión opcional y un paso paraextraer los porcentajes:\u003c/p\u003e\u003cpre\u003e\u003ccode\u003etbl(con, \u0026quot;zonas\u0026quot;) %\u0026gt;%   mutate(region = str_sub(geocodigo, 1, 2)) %\u0026gt;%   filter(region == \u0026quot;14\u0026quot;) %\u0026gt;%     inner_join(tbl(con, \u0026quot;viviendas\u0026quot;)) %\u0026gt;%     group_by(p01) %\u0026gt;%   count() %\u0026gt;%     left_join(    tbl(con, \u0026quot;variables_codificacion\u0026quot;) %\u0026gt;%       filter(variable == \u0026quot;p01\u0026quot;) %\u0026gt;%       select(p01 = valor, p01_desc = descripcion)  ) %\u0026gt;%   select(p01, p01_desc, n) %\u0026gt;%     arrange(-n) %\u0026gt;%   ungroup() %\u0026gt;%   mutate(p = round(100 * n / sum(n), 2)) %\u0026gt;%     collect() %\u0026gt;%   kable()\u003c/code\u003e\u003c/pre\u003e\u003ctable\u003e\u003ccolgroup\u003e\u003ccol style=\"width: 5%\" /\u003e\u003ccol style=\"width: 76%\" /\u003e\u003ccol style=\"width: 9%\" /\u003e\u003ccol style=\"width: 8%\" /\u003e\u003c/colgroup\u003e\u003cthead\u003e\u003ctr class=\"header\"\u003e\u003cth style=\"text-align: right;\"\u003ep01\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003ep01_desc\u003c/th\u003e\u003cth style=\"text-align: right;\"\u003en\u003c/th\u003e\u003cth style=\"text-align: right;\"\u003ep\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e1\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eCasa\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e144081\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e93.57\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e2\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eDepartamento en Edificio\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e4793\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e3.11\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e5\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMediagua, Mejora, Rancho o Choza\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e2187\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1.42\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e7\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOtro Tipo de Vivienda Particular\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1875\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1.22\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e4\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003ePieza en Casa Antigua o enConventillo\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e494\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.32\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e8\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Colectiva\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e467\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.30\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e3\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Tradicional Indígena (Ruka, PaePae u Otras)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e44\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.03\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e6\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMóvil (Carpa, Casa Rodante o Similar)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e35\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.02\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e10\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Calle (No Es Vivienda)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e8\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.01\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e9\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Personas en Tránsito (No EsVivienda)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e6\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.00\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cp\u003ePara la 14ava región, la calidad de la vivienda no parece ser un problema. ¿Y sinos preguntamos por el número de personas que viven en cada uno de estos tipos de unidades?Esto requeriría pasos adicionales para unir a las personas con los hogares y los hogares conlas viviendas.\u003c/p\u003e\u003cpre\u003e\u003ccode\u003etbl(con, \u0026quot;zonas\u0026quot;) %\u0026gt;%   mutate(region = str_sub(geocodigo, 1, 2)) %\u0026gt;%   filter(region == \u0026quot;14\u0026quot;) %\u0026gt;%     inner_join(tbl(con, \u0026quot;viviendas\u0026quot;)) %\u0026gt;%     inner_join(tbl(con, \u0026quot;hogares\u0026quot;)) %\u0026gt;%   inner_join(tbl(con, \u0026quot;personas\u0026quot;)) %\u0026gt;%     group_by(p01) %\u0026gt;%   count() %\u0026gt;%     left_join(    tbl(con, \u0026quot;variables_codificacion\u0026quot;) %\u0026gt;%       filter(variable == \u0026quot;p01\u0026quot;) %\u0026gt;%       select(p01 = valor, p01_desc = descripcion)  ) %\u0026gt;%   select(p01, p01_desc, n) %\u0026gt;%     arrange(-n) %\u0026gt;%   ungroup() %\u0026gt;%   mutate(p = round(100 * n / sum(n), 2)) %\u0026gt;%     collect() %\u0026gt;%   kable()\u003c/code\u003e\u003c/pre\u003e\u003ctable\u003e\u003ccolgroup\u003e\u003ccol style=\"width: 5%\" /\u003e\u003ccol style=\"width: 76%\" /\u003e\u003ccol style=\"width: 9%\" /\u003e\u003ccol style=\"width: 8%\" /\u003e\u003c/colgroup\u003e\u003cthead\u003e\u003ctr class=\"header\"\u003e\u003cth style=\"text-align: right;\"\u003ep01\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003ep01_desc\u003c/th\u003e\u003cth style=\"text-align: right;\"\u003en\u003c/th\u003e\u003cth style=\"text-align: right;\"\u003ep\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e1\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eCasa\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e359343\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e93.38\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e2\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eDepartamento en Edificio\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e9139\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e2.37\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e8\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Colectiva\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e7905\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e2.05\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e5\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMediagua, Mejora, Rancho o Choza\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e3980\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1.03\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e7\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOtro Tipo de Vivienda Particular\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e3008\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.78\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e4\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003ePieza en Casa Antigua o enConventillo\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e727\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.19\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e9\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Personas en Tránsito (No EsVivienda)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e494\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.13\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e3\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Tradicional Indígena (Ruka, PaePae u Otras)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e96\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.02\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e10\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Calle (No Es Vivienda)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e84\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.02\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e6\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMóvil (Carpa, Casa Rodante o Similar)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e61\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.02\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cp\u003e¿Cómo se compara el resultado anterior con el de la capital (13ava región)?\u003c/p\u003e\u003cpre\u003e\u003ccode\u003etbl(con, \u0026quot;zonas\u0026quot;) %\u0026gt;%   mutate(region = str_sub(geocodigo, 1, 2)) %\u0026gt;%   filter(region == \u0026quot;13\u0026quot;) %\u0026gt;%     inner_join(tbl(con, \u0026quot;viviendas\u0026quot;)) %\u0026gt;%     inner_join(tbl(con, \u0026quot;hogares\u0026quot;)) %\u0026gt;%   inner_join(tbl(con, \u0026quot;personas\u0026quot;)) %\u0026gt;%     group_by(p01) %\u0026gt;%   count() %\u0026gt;%     left_join(    tbl(con, \u0026quot;variables_codificacion\u0026quot;) %\u0026gt;%       filter(variable == \u0026quot;p01\u0026quot;) %\u0026gt;%       select(p01 = valor, p01_desc = descripcion)  ) %\u0026gt;%   select(p01, p01_desc, n) %\u0026gt;%     arrange(-n) %\u0026gt;%   ungroup() %\u0026gt;%   mutate(p = round(100 * n / sum(n), 2)) %\u0026gt;%     collect() %\u0026gt;%   kable()\u003c/code\u003e\u003c/pre\u003e\u003ctable\u003e\u003ccolgroup\u003e\u003ccol style=\"width: 5%\" /\u003e\u003ccol style=\"width: 75%\" /\u003e\u003ccol style=\"width: 11%\" /\u003e\u003ccol style=\"width: 8%\" /\u003e\u003c/colgroup\u003e\u003cthead\u003e\u003ctr class=\"header\"\u003e\u003cth style=\"text-align: right;\"\u003ep01\u003c/th\u003e\u003cth style=\"text-align: left;\"\u003ep01_desc\u003c/th\u003e\u003cth style=\"text-align: right;\"\u003en\u003c/th\u003e\u003cth style=\"text-align: right;\"\u003ep\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e1\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eCasa\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e5265416\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e74.03\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e2\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eDepartamento en Edificio\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1613157\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e22.68\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e8\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Colectiva\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e78763\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1.11\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e4\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003ePieza en Casa Antigua o enConventillo\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e72142\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e1.01\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e5\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMediagua, Mejora, Rancho o Choza\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e52710\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.74\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e7\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOtro Tipo de Vivienda Particular\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e17335\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.24\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e9\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Personas en Tránsito (No EsVivienda)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e9113\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.13\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e10\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eOperativo Calle (No Es Vivienda)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e2740\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.04\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"odd\"\u003e\u003ctd style=\"text-align: right;\"\u003e3\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eVivienda Tradicional Indígena (Ruka, PaePae u Otras)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e865\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.01\u003c/td\u003e\u003c/tr\u003e\u003ctr class=\"even\"\u003e\u003ctd style=\"text-align: right;\"\u003e6\u003c/td\u003e\u003ctd style=\"text-align: left;\"\u003eMóvil (Carpa, Casa Rodante o Similar)\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e567\u003c/td\u003e\u003ctd style=\"text-align: right;\"\u003e0.01\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003cp\u003eDe los datos resumidos anteriores podemos ver que en la capital, 52.710personas viven en viviendas precarias (Mediagua, Mejora, Rancho o Choza).\u003c/p\u003e\u003cp\u003eNo debemos olvidar cerrar la conexión de base de datos.\u003c/p\u003e\u003cpre\u003e\u003ccode\u003ecenso_desconectar()\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"uso-inesperado-ii-fuente-de-agua-en-python\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#uso-inesperado-ii-fuente-de-agua-en-python\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUso inesperado II: Fuente de agua (en Python)\u003c/h2\u003e\u003cp\u003eLa motivación de este ejemplo es mostrar que el objetivo de organizar losdatos del censo no era promover R, sino mostrar algunos de los beneficios de tener losdatos organizados en un formato abierto, independientemente del lenguaje de programación utilizadopara el análisis. Para mí es más fácil completar este ejemplo en R, pero queríaincluir a las personas que utilizan estos datos del censo con Python.\u003c/p\u003e\u003cp\u003eLa variable para la fuente de agua es \u003ccode\u003ep05\u003c/code\u003e. El análisis es muy similaral anterior, y empezamos por ver su descripción. Este ejemploes relevante, ya que permite cuantificar el número de personas que podríanestar expuestas a agua contaminada en una zona determinada.\u003c/p\u003e\u003cpre\u003e\u003ccode\u003eimport censo2017import duckdbcon = duckdb.connect(database = censo2017.archivo_sql())con.execute(\u0026quot;SELECT * FROM variables_codificacion WHERE variable = 'p05'\u0026quot;).df()##        tabla variable  valor                                descripcion## 0  viviendas      p05      1                                Red Pública## 1  viviendas      p05      2                               Pozo o Noria## 2  viviendas      p05      3                              Camión Aljibe## 3  viviendas      p05      4  Río, Vertiente, Estero, Canal, Lago, Etc.## 4  viviendas      p05     99                              Valor Perdido## 5  viviendas      p05     98                                  No Aplica\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eUtilizando esta variable, podemos conocer el número de personas para cada fuente de aguade la misma manera que en el caso anterior.\u003c/p\u003e\u003cpre\u003e\u003ccode\u003econ.execute(\u0026quot;\u0026quot;\u0026quot;SELECT \u0026quot;p05\u0026quot;, \u0026quot;p05_desc\u0026quot;, \u0026quot;n\u0026quot;,  ROUND((100.0 * \u0026quot;n\u0026quot;) / SUM(\u0026quot;n\u0026quot;) OVER (), CAST(ROUND(2.0, 0) AS INTEGER)) AS \u0026quot;p\u0026quot;FROM (  SELECT \u0026quot;LHS\u0026quot;.\u0026quot;p05\u0026quot; AS \u0026quot;p05\u0026quot;, \u0026quot;n\u0026quot;, \u0026quot;p05_desc\u0026quot;  FROM (    SELECT \u0026quot;p05\u0026quot;, COUNT(*) AS \u0026quot;n\u0026quot;    FROM (      SELECT *, \u0026quot;LHS\u0026quot;.\u0026quot;hogar_ref_id\u0026quot; AS \u0026quot;hogar_ref_id\u0026quot;      FROM (        SELECT *, \u0026quot;LHS\u0026quot;.\u0026quot;vivienda_ref_id\u0026quot; AS \u0026quot;vivienda_ref_id\u0026quot;        FROM (          SELECT *, \u0026quot;LHS\u0026quot;.\u0026quot;zonaloc_ref_id\u0026quot; AS \u0026quot;zonaloc_ref_id\u0026quot;          FROM (            SELECT *            FROM (              SELECT *, SUBSTR(\u0026quot;geocodigo\u0026quot;, 1, 2) AS \u0026quot;region\u0026quot;              FROM \u0026quot;zonas\u0026quot;            ) \u0026quot;q01\u0026quot;            WHERE (\u0026quot;region\u0026quot; = '14')          ) \u0026quot;LHS\u0026quot;          INNER JOIN \u0026quot;viviendas\u0026quot; AS \u0026quot;RHS\u0026quot;            ON (\u0026quot;LHS\u0026quot;.\u0026quot;zonaloc_ref_id\u0026quot; = \u0026quot;RHS\u0026quot;.\u0026quot;zonaloc_ref_id\u0026quot;)        ) \u0026quot;LHS\u0026quot;        INNER JOIN \u0026quot;hogares\u0026quot; AS \u0026quot;RHS\u0026quot;          ON (\u0026quot;LHS\u0026quot;.\u0026quot;vivienda_ref_id\u0026quot; = \u0026quot;RHS\u0026quot;.\u0026quot;vivienda_ref_id\u0026quot;)      ) \u0026quot;LHS\u0026quot;      INNER JOIN \u0026quot;personas\u0026quot; AS \u0026quot;RHS\u0026quot;        ON (\u0026quot;LHS\u0026quot;.\u0026quot;hogar_ref_id\u0026quot; = \u0026quot;RHS\u0026quot;.\u0026quot;hogar_ref_id\u0026quot;)    ) \u0026quot;q02\u0026quot;    GROUP BY \u0026quot;p05\u0026quot;  ) \u0026quot;LHS\u0026quot;  LEFT JOIN (    SELECT \u0026quot;valor\u0026quot; AS \u0026quot;p05\u0026quot;, \u0026quot;descripcion\u0026quot; AS \u0026quot;p05_desc\u0026quot;    FROM \u0026quot;variables_codificacion\u0026quot;    WHERE (\u0026quot;variable\u0026quot; = 'p05')  ) \u0026quot;RHS\u0026quot;    ON (\u0026quot;LHS\u0026quot;.\u0026quot;p05\u0026quot; = \u0026quot;RHS\u0026quot;.\u0026quot;p05\u0026quot;)) \u0026quot;q03\u0026quot;ORDER BY -\u0026quot;n\u0026quot;\u0026quot;\u0026quot;\u0026quot;).df()##    p05                                   p05_desc       n      p## 0    1                                Red Pública  299464  77.82## 1    4  Río, Vertiente, Estero, Canal, Lago, Etc.   38796  10.08## 2    2                               Pozo o Noria   32150   8.35## 3   98                                  No Aplica    8483   2.20## 4    3                              Camión Aljibe    3558   0.92## 5   99                              Valor Perdido    2386   0.62\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eAquí vemos que para la 14ava región, el 22,18% de la población notiene acceso a la red pública de agua corriente. La ventaja de esteenfoque es que aquí utilizamos SQL puro para la consulta, que funcionaría encualquier lenguaje en el que podamos pasar consultas SQL. La desventaja es que notenemos una herramienta como \u003ccode\u003edplyr\u003c/code\u003e y está la necesidad de aprender la sintaxis SQL.\u003c/p\u003e\u003cp\u003eNo debemos olvidar cerrar la conexión a la base de datos.\u003c/p\u003e\u003cpre\u003e\u003ccode\u003econ.close()\u003c/code\u003e\u003c/pre\u003e\u003ch2 id=\"observaciones-finales\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#observaciones-finales\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eObservaciones finales\u003c/h2\u003e\u003cp\u003eLos ejemplos mostrados aquí se han simplificado. La mayoría de las consultas querecibo son sobre resúmenes de datos a nivel subcomunitario, por ejemplo cómo contar lasocurrencias de una variable categórica en un barrio, como hicimos en nuestro ejemplo deacceso al agua (es decir, pozo o red pública). Usando censo2017 podemos extraer informaciónútil para las políticas públicas basada en la evidencia cuando se trata, por ejemplo, depriorizar las decisiones presupuestarias.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/10/19/censo2017-one-year-after-es/","date_published":"2022-10-19T00:00:00+00:00","date_modified":"2025-04-08T11:33:40+02:00"},{"id":"https://doi.org/10.59350/djjqd-h7x90","title":"¡Anunciamos el programa de Campeones y Campeonas de rOpenSci!","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","ayuda","principiante","bienvenidad","diversidad","campeones"],"content_html":"\u003cblockquote\u003e\u003cp\u003e¡Estamos muy felices de realizar el lanzamiento nuestro programa de Campeones y Campeonas!\u003c/p\u003e\u003c/blockquote\u003e\u003ch2 id=\"porqué-un-programa-de-campeones-y-campeonas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#porqu%c3%a9-un-programa-de-campeones-y-campeonas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Porqué un programa de Campeones y Campeonas?\u003c/h2\u003e\u003cp\u003eEstos programas se diseñan para identificar, reconocer y premiar a miembros apasionados de nuestras comunidades.\u003c/p\u003e\u003cp\u003eEn rOpenSci, reconocemos que existe una consternadora falta de diversidad en el ecosistema de las comunidades de software de investigación y de código abierto. La Comunidad R no es una excepción; las personas que realizan el desarrollo de software son abrumadoramente blancas, hombres y de un puñado de países. Esta decepcionante falta de diversidad es potencialmente perjudicial para la sostenibilidad, la utilidad y la productividad de los proyectos.\u003c/p\u003e\u003cp\u003eTambién sabemos que las comunidades de práctica pueden impulsar un cambio significativo. Comprendemos la importancia de apoyar a una cohorte diversa de personas, que colaboran en todos los aspectos de la creación de software de investigación y que son líderes de nuestra comunidad, mientras se esfuerzan por transformar nuestro ecosistema para mejor.\u003c/p\u003e\u003cp\u003eEste programa de Campeones y Campeonas de rOpenSci \u003ca href=\"/blog/2021/12/20/inclusive-leadership-program/\"\u003eforma parte de una serie de actividades y proyectos que estamos llevando a cabo para garantizar que nuestro software de investigación esté al servicio de todas las personas de nuestras comunidades\u003c/a\u003e, lo que significa que debe ser sustentable, abierto y construido \u003cstrong\u003epor y para todos los grupos.\u003c/strong\u003e\u003c/p\u003e\u003cp\u003eEs por esto que este programa está enfocado y pensando para que participen \u003cstrong\u003epersonas que pertenecen a grupos histórica y sistemáticamente excluidos\u003c/strong\u003e de las comunidades de software abierto y de software de investigación y que están interesadas en contribuir a rOpenSci y al ecosistema más amplio de comunidades de software de código abierto y de investigación.\u003c/p\u003e\u003ch2 id=\"en-qué-consiste-nuestro-programa\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#en-qu%c3%a9-consiste-nuestro-programa\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿En qué consiste nuestro programa?\u003c/h2\u003e\u003cp\u003eHemos desarrollado un \u003cstrong\u003eprograma de doce meses que incluye, capacitación basado en cohortes, el desarrollo de un proyecto y tutorías individuales\u003c/strong\u003e.\u003c/p\u003e\u003cp\u003eLas personas que sean seleccionadas paticiparán en una capacitación de seis semanas sobre: a) planificar y facilitar talleres atractivos e inclusivos para apoyar el éxito de quienes participan, b) conocer los diversos canales a través de los cuales se puede participar y contribuir a los proyectos de rOpenSci y de R, y c) conocimientos técnicos en desarrollo y revisión de software.\u003c/p\u003e\u003cp\u003eTras su formación, los campeones y las campeonas desarrollarán su proyecto, que puede ser una de estas opciones:\u003c/p\u003e\u003cul\u003e\u003cli\u003ecrear un nuevo paquete,\u003c/li\u003e\u003cli\u003epasar por el proceso de revisión con un paquete de R que ya hayan desarrollado,\u003c/li\u003e\u003cli\u003eo ser un/a revisor/a de nuestro sistema de revisión por pares.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOtras actividades para las personas seleccionadas incluyen opciones como dar charlas, escribir artículos para la web y enseñar a otras personas de la comunidad. Durante esta etapa, los campeones y las campeonas recibirán tutorías individuales de sus mentores y mentoras y en grupo por medio de reuniones de cohorte trimestrales, ayuda de la Community Manager y un canal dedicado en el Slack de rOpenSci.\u003c/p\u003e\u003cp\u003eProporcionaremos un estipendio de $1000 (USD) a los campeones y las campeonas que seleccionemos.\u003c/p\u003e\u003cp\u003ePuedes ver todos los detalles en \u003ca href=\"/champions/\"\u003ela página web del programa\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"cómo-aplicar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-aplicar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo aplicar?\u003c/h2\u003e\u003cp\u003eSe debe completar el \u003ca href=\"https://airtable.com/shrAsYlSXU0coJ5Ld\"\u003eformulario de aplicación\u003c/a\u003e antes del \u003cstrong\u003eViernes, 7 de Noviembre de 2022\u003c/strong\u003e. Esta \u003ca href=\"/champions/files/champions_template_es\"\u003eplantilla\u003c/a\u003e muestra la información requerida en el formulario.\u003c/p\u003e\u003cp\u003eEl formulario se debe completar en \u003cem\u003eInglés\u003c/em\u003e.\u003c/p\u003e\u003ch3 id=\"cronograma\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#cronograma\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCronograma\u003c/h3\u003e\u003ctable\u003e\t\u003cthead\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003cth\u003eFecha\u003c/th\u003e\t\t\t\t\t\u003cth\u003eEvento\u003c/th\u003e\t\t\t\u003c/tr\u003e\t\u003c/thead\u003e\t\u003ctbody\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eSep 23, 2022\u003c/td\u003e\t\t\t\t\t\u003ctd\u003eSe abre el llamado a postulaciones\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eOct 24, 2022\u003c/td\u003e\t\t\t\t\t\u003ctd\u003e[Opcional] \u003ca href=\"/commcalls/oct2022-champions/\"\u003eCharlas de la comunidad\u003c/a\u003e - Consejos para que escribas y envies tu postulación al programa\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eNov 1, 2022\u003c/td\u003e\t\t\t\t\t\u003ctd\u003e[Opcional] \u003ca href=\"/events/coworking-2022-11/\"\u003eHoras de co-trabajo\u003c/a\u003e - recibe ayuda con tu postulación para el programa de campeones y campeonas\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eNov 7, 2022\u003c/td\u003e\t\t\t\t\t\u003ctd\u003eSe cierra el llamado a postulaciones\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\t\t\u003ctr\u003e\t\t\t\t\t\u003ctd\u003eNov 25, 2022\u003c/td\u003e\t\t\t\t\t\u003ctd\u003eComunicación con las personas seleccionadas\u003c/td\u003e\t\t\t\u003c/tr\u003e\t\u003c/tbody\u003e\u003c/table\u003e\u003ch2 id=\"tienes-preguntas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#tienes-preguntas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Tienes preguntas?\u003c/h2\u003e\u003cp\u003ePor favor, contacta a nuestra Community Manager \u003ca href=\"mailto:yabellini@ropensci.org\"\u003epor email\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eRecuerda que tendremos una \u003ca href=\"/commcalls/oct2022-champions/\"\u003eCharla de la comunidad el 24 de Octubre\u003c/a\u003e y un \u003ca href=\"/events/coworking-2022-11/\"\u003eespacio de co-trabajo el 1 de Noviembre\u003c/a\u003e para ayudarte con tu postulación.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEstamos deseando conocer a todas las personas apasionadas con R que hay por ahí :-D\u003c/strong\u003e\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/09/22/launch-champions-program-es/","date_published":"2022-09-22T00:00:01-07:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/cwemw-vdw42","title":"Cómo participar en rOpenSci","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad","ayuda","principiante","bienvenidad"],"content_html":"\u003cp\u003eEsta entrada del blog pretende ayudarte a iniciarte en la comunidad rOpenSci destacando algunos links y actividades clave. Si tienes alguna pregunta, no dudes en ponerte en contacto con nuestra Community Manager, Yanina Bellini Saibene \u003ca href=\"mailto:yabellini@ropensci.org\"\u003epor correo electrónico\u003c/a\u003e o \u003ca href=\"https://calendly.com/yabellini-ropensci/\"\u003eprograma una reunión con ella\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eEstamos a tu disposición para que comiences tu camino con nuestra comunidad. ¡Te damos la bienvenida!\u003c/p\u003e\u003ch2 id=\"por-dónde-empiezo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#por-d%c3%b3nde-empiezo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Por dónde empiezo?\u003c/h2\u003e\u003cp\u003erOpenSci fomenta una cultura que valora la investigación abierta y reproducible utilizando datos compartidos y software reutilizable. Nos dedicamos a proporcionar un entorno amigable y que apoya a todas las personas. Al participar en esta comunidad, las personas se comprometen a \u003ca href=\"/c%C3%B3digo-de-conducta/\"\u003erespetar nuestro Código de Conducta\u003c/a\u003e. Tanto si tienes poco como mucho tiempo, hay \u003ca href=\"https://contributing.ropensci.org/\"\u003emuchas formas de contribuir y participar con nosotros\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eSi quires conocer todos los detalles consulta nuestra \u003ca href=\"https://contributing.ropensci.org/\"\u003eGuía de Contribución\u003c/a\u003e que detalla todas las formas en que puedes involucrarte con rOpenSci y cómo puedes beneficiarte.\u003c/p\u003e\u003cp\u003eSi no, a continuación te presentamos un resumen de los posibilidades y recursos disponibles.\u003c/p\u003e\u003ch2 id=\"encontrar-información-y-pedir-ayuda\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#encontrar-informaci%c3%b3n-y-pedir-ayuda\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEncontrar información y pedir ayuda\u003c/h2\u003e\u003cp\u003e¿Quieres saber cómo utilizar un paquete de rOpenSci? o ¿estás buscando información sobre cómo desarrollar un paquete de R? Hay varias maneras de pedir ayuda:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://discuss.ropensci.org/\"\u003eForo de discusión\u003c/a\u003e: foro público en Discourse para casos de uso, preguntas y respuestas sobre paquetes rOpenSci, exploración de ideas y mejores prácticas. Aprende como \u003ca href=\"/blog/2022/01/11/ropensci-forum/\"\u003ereunirte en el foro de rOpenSci\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://docs.ropensci.org/\"\u003eDocumentación de paquetes\u003c/a\u003e: este sitio alberga la documentación pkgdown de todos los paquetes de rOpenSci.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/usecases/\"\u003eCasos de uso\u003c/a\u003e: explora cómo se han utilizado nuestros paquetes o recursos de R.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/blog/\"\u003eBlog\u003c/a\u003e: navega por nuestro blog y notas técnicas para ver las actualizaciones de los paquetes, tutoriales y ejemplos. Puedes encontrar artículos escritos por nuestra comunidad. Si tienes inspiración, nuestra \u003ca href=\"https://blogguide.ropensci.org/\"\u003eGuía del blog\u003c/a\u003e explica cómo contribuir con un artículo.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://devguide.ropensci.org/\"\u003erOpenSci Paquetess: Desarrollo, mantenimiento y revisión por pares\u003c/a\u003e: este libro contiene nuestras directrices para crear y probar paquetes de R y nuestro proceso de revisión por pares.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://stats-devguide.ropensci.org/\"\u003erOpenSci revisón por pares de software estadístico\u003c/a\u003e: este libro contiene nuestras directrices para crear y probar paquetes de R y nuestro proceso de revisión por pares.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://ropensci.org/talks-papers/\"\u003eCharlas y publicaciones\u003c/a\u003e: charlas del equipo de rOpenSci o de miembros de la comunidad que nos representan, en inglés, francés o español.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cem\u003eSlack\u003c/em\u003e: Un espacio semi-abierto para la comunicación entre las personas que contribuyen a rOpenSci. Nuestro Slack está \u003ca href=\"/contact/\"\u003eabierto a cualquiera que contribuya\u003c/a\u003e a un proyecto de rOpenSci o que participe en nuestro proceso de revisión por pares como autor/as o revisor/as.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"charla-con-otras-personas-de-la-comunidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#charla-con-otras-personas-de-la-comunidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCharla con otras personas de la comunidad\u003c/h2\u003e\u003cp\u003eSi quieres chatear con miembros de la comunidad, además del \u003ca href=\"https://discuss.ropensci.org/\"\u003eForo de discusión\u003c/a\u003e y \u003cem\u003eSlack\u003c/em\u003e, tenemos lugares de encuentro como\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/commcalls\"\u003eLlamadas de la comunidad\u003c/a\u003e: únete a nuestras \u003cem\u003eCommunity Calls\u003c/em\u003e trimestrales, son gratuitas y abiertas para que cualquiera pueda asistir y ofrecen la oportunidad de conectar con miembros de la comunidad rOpenSci de todo el mundo.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/blog/2021/08/17/coworking-sessions/\"\u003eSesiones de co trabajo remoto\u003c/a\u003e: sesiones mensuales de coworking social + horas de oficina a través de Zoom (ver próximas sesiones en \u003ca href=\"/events/\"\u003eEventos\u003c/a\u003e)\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/events/\"\u003eEventos\u003c/a\u003e: nuestro personal y colaboradores/as participan en diferentes eventos y conferencias.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"recibir-comunicaciones\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#recibir-comunicaciones\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRecibir comunicaciones\u003c/h2\u003e\u003cp\u003eTenemos varios canales para que nuestra información te llegue directamente. ¿Te preocupa el exceso de notificaciones? No te preocupes. Suscríbete sólo a las comunicaciones que deseas, y podras darte de baja en cualquier momento.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/news/\"\u003eBoletín de noticias\u003c/a\u003e: todos los meses recibirás en tu bandeja de entrada noticias sobre los paquetes R, publicaciones en el blog, consejos y trucos, eventos y casos de uso. Suscríbate a través de RSS (XML), JSON feed, o correo electrónico.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cem\u003eRedes sociales\u003c/em\u003e: sigue las actividades de nuestra organización en \u003ca href=\"https://hachyderm.io/@rOpenSci\"\u003eMastodon\u003c/a\u003e, \u003ca href=\"https://www.linkedin.com/company/ropensci/\"\u003eLinkedIn\u003c/a\u003e y \u003ca href=\"https://vimeo.com/ropensci\"\u003eVimeo\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"utilice-y-contribuya-a-nuestra-infraestructura\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#utilice-y-contribuya-a-nuestra-infraestructura\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUtilice y contribuya a nuestra infraestructura\u003c/h2\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/packages/\"\u003ePaquetes\u003c/a\u003e: nuestros paquetes son herramientas de software de R cuidadosamente examinadas, aportadas por el personal de rOpenSci y la comunidad, que tienen como objetivo reducir las barreras para trabajar con fuentes de datos científicos locales y remotas.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/r-universe/\"\u003eEl R-universe\u003c/a\u003e: mejora la publicación y el descubrimiento de software de investigación en R.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/software-review/\"\u003eRevisión de software por pares\u003c/a\u003e: los paquetes realizados por la comunidad se someten a un proceso de revisión transparente, constructivo, no adversario y abierto.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/software-review/\"\u003eRevisión por pares de software estádistico\u003c/a\u003e: hemos ampliado nuestro sistema de revisión por pares para incluir paquetes que implementan algoritmos estadísticos.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/blog/2021/12/20/inclusive-leadership-program/\"\u003ePublicación multilingüe\u003c/a\u003e: estamos ampliando la documentación de nuestro proceso de revisión más allá del idioma inglés.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/blog/2021/12/20/inclusive-leadership-program/\"\u003ePrograma de Campeones\u003c/a\u003e: programa para apoyar a los campeones de la comunidad de grupos que histórica y sistemáticamente han sido excluidos para que se conviertan en contribuyentes de rOpenSci.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/citations/\"\u003eCitas de paquetes\u003c/a\u003e: si utilizas uno de nuestros paquetes, por favor cítalo. \u003ca href=\"/blog/2021/11/16/how-to-cite-r-and-r-packages/\"\u003ePuedes aprender aquí cómo citar R y paquetes R\u003c/a\u003e.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/help-wanted/\"\u003eSe busca ayuda\u003c/a\u003e: si estás dispuesto a contribuir, aquí tienes una lista de temas en los que se necesita tu experiencia (tenemos temas para diferentes niveles de experiencia).\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"listoa-para-contribuir\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#listoa-para-contribuir\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¡Listo/a para contribuir!\u003c/h2\u003e\u003cp\u003eNos alegra que hayas llegado hasta aquí.  Esperamos que encuentres alguna forma de participar entre todas estas opciones.  ¡Estaremos muy felices de saber más si tienes ideas sobre otras formas de colaborar con nosotros!\u003c/p\u003e\u003cp\u003eEsperamos verte en alguno de nuestros espacios.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/09/13/contributing-ropensci-es/","date_published":"2022-09-13T00:00:01-07:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/cpads-4b989","title":"Evaluar la actividad en GitHub de los colaboradores","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["translator"]}],"tags":["GitHub","contributors","tech notes"],"content_html":"\u003cp\u003eSupongamos que tienes que informar de un error o solicitar una función para un paquete.¿Cómo puedes utilizar la información de GitHub para gestionar tus expectativas (si habrá una solución rápida) y tus acciones (si debes seguir adelante y hacer un \u003cem\u003efork\u003c/em\u003e del repositorio)?En este post, repasaremos diferentes fuentes de información y explicaremos cómo se pueden utilizar.Al final, no hay una receta mágica, excepto quizás la amabilidad, ya que el software lo hacen las personas \u0026#x1f609;\u003c/p\u003e\u003ch2 id=\"mira-si-el-repositorio-está-archivado\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mira-si-el-repositorio-est%c3%a1-archivado\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMira si el repositorio está archivado\u003c/h2\u003e\u003cp\u003eMira si el repositorio está \u003ca href=\"https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories\"\u003earchivado en GitHub\u003c/a\u003e.\u003c/p\u003e\u003ch3 id=\"cómo-ayuda\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-ayuda\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo ayuda\u003c/h3\u003e\u003cp\u003eSi se archiva el repositorio, está claro que los autores ya no van a trabajar en él.\u003c/p\u003e\u003ch2 id=\"seguir-de-forma-personalizada-un-repositorio\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#seguir-de-forma-personalizada-un-repositorio\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSeguir (de forma personalizada) un repositorio\u003c/h2\u003e\u003cp\u003eSi te interesa mucho el destino de un paquete de R, puede que tenga sentido \u003ca href=\"https://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications#configuring-your-watch-settings-for-an-individual-repository=\"\u003eempezar a seguir su repositorio de forma personalizada\u003c/a\u003e en GitHub: por ejemplo, puedes elegir que se te notifiquen todas las ediciones y PRs o sólo las versiones.\u003c/p\u003e\u003cp\u003eSe debe tener en cuenta que si sólo sigues (\u003cem\u003ewatch\u003c/em\u003e) un repositorio apareces públicamente como seguidor, pero hasta donde yo se quienes siguen los repositorios con opciones personalizadas no aparecen públicamente.\u003c/p\u003e\u003ch3 id=\"cómo-ayuda-1\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-ayuda-1\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo ayuda\u003c/h3\u003e\u003cp\u003eObservar la actividad en el repositorio te hará consciente de\u003c/p\u003e\u003cul\u003e\u003cli\u003edesarrollo continuo,\u003c/li\u003e\u003cli\u003eritmos de desarrollo (por ejemplo, \u0026ldquo;cíclico pero con correcciones rápidas de errores cruciales\u0026rdquo;),\u003c/li\u003e\u003cli\u003eflujos de trabajo (¿son bienvenidos los PR o las personas que mantienen el paquete prefieren confirmar primero el interés por un tema?)\u003c/li\u003e\u003cli\u003eel tono en ese repositorio (si el tono no es amistoso, ¡corre!).\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eAhora bien, no te servirá de nada si ahora mismo estás mirando un repositorio que antes no seguías, pero es bueno saberlo para la próxima vez.\u003c/p\u003e\u003ch2 id=\"lee-los-archivos-sobre-como-contribuir\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#lee-los-archivos-sobre-como-contribuir\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLee los archivos sobre como contribuir\u003c/h2\u003e\u003cp\u003eSi el repositorio tiene una \u003ca href=\"/blog/2021/04/28/commcall-pkg-community/\"\u003eguía de contribución\u003c/a\u003e (archivo \u003ccode\u003eCONTRIBUTING.md\u003c/code\u003e o \u003ccode\u003e.github/CONTRIBUTING.md\u003c/code\u003e) y parece que se ha personalizado al menos un poco en comparación con un modelo estándar, préstale atención :smile_cat:\u003c/p\u003e\u003cp\u003eSi los documentos contienen alguna mención al ciclo de vida del desarrollo (una etiqueta, algún texto), también tenelo en cuenta.\u003c/p\u003e\u003cp\u003ePor último, pero no menos importante, ¡ver que el repositorio tiene un código de conducta puede ayudar a sentirse seguro!\u003ca href=\"/es/c%C3%B3digo-de-conducta/\"\u003eEl código de conducta de rOpenSci\u003c/a\u003e se aplica a todos los paquetes de rOpenSci.\u003c/p\u003e\u003ch3 id=\"cómo-ayuda-2\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-ayuda-2\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo ayuda\u003c/h3\u003e\u003cp\u003eEs información directa de las personas que mantienen el paquete sobre lo que esperan de las contribuciones, por lo que puede ayudarte a orientarte sobre cómo hacer contribuciones y qué tipo de contribuciones son bienvenidas.\u003c/p\u003e\u003ch2 id=\"mira-la-última-actividad-en-el-código\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mira-la-%c3%baltima-actividad-en-el-c%c3%b3digo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMira la última actividad en el código\u003c/h2\u003e\u003cp\u003eEn la página principal del repositorio de GitHub puedes encontrar el tiempo transcurrido desde el último \u003cem\u003ecommit\u003c/em\u003e en la rama por defecto.En la página de \u003cem\u003ebranches\u003c/em\u003e puedes ver que hay actividad en el código en otra rama (ver por ejemplo \u003ca href=\"https://github.com/ropensci/readODS/branches\"\u003ehttps://github.com/ropensci/readODS/branches\u003c/a\u003e).En la pestaña de versiones puedes ver la antigüedad de la última versión publicada, y si hay una regularidad en las versiones (ver por ejemplo \u003ca href=\"https://github.com/ropensci/magick/releases\"\u003ehttps://github.com/ropensci/magick/releases\u003c/a\u003e).\u003c/p\u003e\u003ch3 id=\"cómo-ayuda-3\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-ayuda-3\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo ayuda\u003c/h3\u003e\u003cp\u003eSi hay actividad en curso, en el código, tus contribuciones podrían abordarse más rápidamente.Si ves que la actividad en el código es intermitente (los desarrolladores se centran en él durante un periodo de tiempo, publican una nueva versión y luego ignoran las notificaciones durante un tiempo), está bien suponer que tendrás que ser paciente.\u003c/p\u003e\u003ch2 id=\"observa-la-actividad-de-planificación-y-asistencia-al-usuario\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#observa-la-actividad-de-planificaci%c3%b3n-y-asistencia-al-usuario\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eObserva la actividad de planificación y asistencia al usuario\u003c/h2\u003e\u003cp\u003eOrdena los \u003cem\u003eissues\u003c/em\u003e y PRs por la fecha de actualización para ver los más recientes primero (este es el valor por defecto cuando se utiliza la extensión para navegadores de internet \u003ca href=\"https://github.com/refined-github/refined-github\"\u003eRefinedGitHub\u003c/a\u003e). ¿Las personas que son parte del repositorio responden activamente a los \u003cem\u003eissues\u003c/em\u003e?\u003c/p\u003e\u003cp\u003eMira los hitos: ¿cuál es el contenido de los distintos hitos?¿Hay fechas previstas de publicación?(Véase, por ejemplo \u003ca href=\"https://github.com/ropensci/dev_guide/milestones\"\u003ehttps://github.com/ropensci/dev_guide/milestones\u003c/a\u003e.)\u003c/p\u003e\u003ch3 id=\"cómo-ayuda-4\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-ayuda-4\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo ayuda\u003c/h3\u003e\u003cp\u003eSi los problemas obtienen una primera respuesta de una persona de forma rápida, qué suerte, puedes preguntar educadamente lo que querías preguntar y esperar una respuesta bastante rápida.Si la planificación es transparente y actual (es difícil curar los hitos :sweat_smile:), puedes hacerte una idea de dónde encajará tu contribución.\u003c/p\u003e\u003ch2 id=\"mira-la-actividad-de-los-autores\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mira-la-actividad-de-los-autores\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMira la actividad de los autores\u003c/h2\u003e\u003cp\u003eIdentifica a los principales colaboradores:\u003c/p\u003e\u003cul\u003e\u003cli\u003eEl archivo DESCRIPTION puede no ser tan informativo, ya que puede contener colaboradores históricos.\u003c/li\u003e\u003cli\u003eMira el gráfico de contribuciones para ver quiénes contribuyen activamente de forma reciente (ver por ejemplo \u003ca href=\"https://github.com/ropensci/dev_guide/graphs/contributors\"\u003ehttps://github.com/ropensci/dev_guide/graphs/contributors\u003c/a\u003e).\u003c/li\u003e\u003cli\u003eFíjate también en quién ha respondido a los últimos \u003cem\u003eissues\u003c/em\u003e y PRs.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eDirígete a su perfil de GitHub, e incluso a su \u003ca href=\"https://r-universe.dev/maintainers/\"\u003eperfil de R-universe\u003c/a\u003e ¿Han estado trabajando en otras cosas? ¿Tienen algún estatus (permiso parental, vacaciones)? ¿Hay algún desajuste entre la organización del repositorio y el trabajo del colaborador?\u003c/p\u003e\u003ch3 id=\"cómo-ayuda-5\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-ayuda-5\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo ayuda\u003c/h3\u003e\u003cp\u003eA veces puede haber algo obvio: si la persona que mantiene el paquete cambió de trabajo, quizá abandonó el interés en este repositorio.Sin embargo, lo más importante es que, aunque ayuda estar al tanto de la actividad pública de quienes contribuyen \u003cstrong\u003enunca sabes por lo que está pasando una persona, así que sé amable y paciente\u003c/strong\u003e.\u003c/p\u003e\u003ch2 id=\"revisa-los-chequeos-automáticos-y-los-archivos-de-depósito\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#revisa-los-chequeos-autom%c3%a1ticos-y-los-archivos-de-dep%c3%b3sito\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRevisa los chequeos automáticos y los archivos de depósito\u003c/h2\u003e\u003cp\u003eDirígete a la página de estado de integración continua de los repositorios, por ejemplo puede ser la pestaña Acciones.Mira el estado de CRAN si el paquete estuvo alguna vez en CRAN.\u003c/p\u003e\u003ch3 id=\"cómo-ayuda-6\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-ayuda-6\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo ayuda\u003c/h3\u003e\u003cp\u003eLos fallos en las comprobaciones que no se abordan pueden indicar que no se trabaja activamente en el repositorio.\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eEn este post hemos resumido algunas fuentes de información que tú, como colaborador potencial, puedes utilizar para evaluar si un repositorio está activo y en qué medida, para calibrar tus expectativas y ofertas de contribución.Si un repositorio parece especialmente abandonado, quizás podrías enviar un correo electrónico a los autores para preguntarles si está previsto realizar trabajos en el futuro y, en caso contrario, si podrías hacerte cargo de él.Sé considerado en todas tus \u003ca href=\"https://jacobtomlinson.dev/posts/2022/dont-be-that-open-source-user-dont-be-me/\"\u003einteracciones con las personas que mantienen software\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eSi eres la \u003cem\u003epersona que mantiene\u003c/em\u003e un paquete de rOpenSci y necesitas ayuda puntual o apoyo para el mantenimiento a largo plazo, ponte en contacto con nosotros en \u003ccode\u003einfo@ropensci.org\u003c/code\u003e.Por ejemplo, podemos añadir una convocatoria de co-mantenedores en nuestro boletín mensual.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/07/01/evaluating-github-activity-for-contributors/","date_published":"2022-07-01T00:00:00+00:00","date_modified":"2025-04-07T08:50:14-03:00"},{"id":"https://doi.org/10.59350/w0f6w-nmd65","title":"Presentamos a la nueva Community Manager de rOpenSci, Yanina Bellini Saibene","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["comunidad"],"content_html":"\u003ch2 id=\"hola-soy-yanina-bellini-saibene-tu-nueva-community-manager\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#hola-soy-yanina-bellini-saibene-tu-nueva-community-manager\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¡Hola! Soy Yanina Bellini Saibene, tu nueva Community Manager.\u003c/h2\u003e\u003cp\u003eEstoy muy entusiasmada de unirme a rOpenSci con este rol y así poder apoyar un proyecto tan importante en la ciencia abierta y en la Comunidad R.\u003c/p\u003e\u003cp\u003eCuando vi la convocatoria para el puesto, pensé que mis más de 20 años de experiencia trabajando en comunidades, siendo profesora e investigadora se alineaban perfectamente.\u003c/p\u003e\u003cp\u003eCreo en el poder de la ciencia abierta al servicio de las personas, que la educación es la mejor herramienta que tenemos para mejorar nuetras vidas, y que la forma más eficaz de hacer cambios es siendo parte de una comunidad. rOpenSci combina mi pasión por el software libre y la ciencia abierta con mi lenguaje de programación y mi comunidad favoritas. Estoy especialmente entusiasmada con nuestro \u003ca href=\"/blog/2021/12/20/inclusive-leadership-program/\"\u003enuevo proyecto para capacitar a las y los líderes comunitarios de grupos históricamente excluidos\u003c/a\u003e y estoy muy entusiasmada por desempeñar un papel en su desarrollo. He trabajado para mejorar la diversidad, la equidad y la inclusión a lo largo de mi carrera, no solo porque pertenezco a grupos históricamente excluidos de la ciencia, si no porque es lo correcto, lo que se debe hacer.\u003c/p\u003e\u003ch2 id=\"un-poco-sobre-mí\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-poco-sobre-m%c3%ad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn poco sobre mí\u003c/h2\u003e\u003cp\u003eObtuve una maestría en la Universidad Austral (Buenos Aires, Argentina) en Minería de Datos y Descubrimiento de Conocimiento. Mi licenciatura en Sistemas de Información es de la Universidad del Salvador (Buenos Aires, Argentina). Vivo en Argentina, donde soy investigadora desde hace 24 años en el \u003ca href=\"https://www.argentina.gob.ar/inta\"\u003eInstituto Nacional de Tecnología Agropecuaria\u003c/a\u003e (INTA). También soy profesora en la \u003ca href=\"https://www.unab.edu.ar/\"\u003eUniversidad Nacional Guillermo Brown\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eComencé a usar R en 2009. Mi recorrido en la comunidad de R comenzó en 2017 cuando fundé \u003ca href=\"https://www.meetup.com/es/rladies-santa-rosa/\"\u003eR-Ladies Santa Rosa\u003c/a\u003e, el segundo capítulo activo de R-Ladies en Latinoamérica. Desde entonces, cofundé \u003ca href=\"https://latin-r.com/\"\u003eLatinR\u003c/a\u003e y \u003ca href=\"https://www.metadocencia.org/\"\u003eMetaDocencia\u003c/a\u003e y me convertí en miembro del Consejo Ejecutivo de \u003ca href=\"https://carpentries.org/\"\u003eThe Carpentries\u003c/a\u003e (por votación de la comunidad). También formo parte del equipo de \u003ca href=\"https://rladies.org/\"\u003eR-Ladies Global\u003c/a\u003e, del equipo central de \u003ca href=\"https://forwards.github.io/\"\u003eRForwards\u003c/a\u003e, del \u003ca href=\"https://www.r-consortium.org/about/governance\"\u003eR Consortium Infrastructure Steering Committee\u003c/a\u003e como líder del proyecto R-Ladies, de \u003ca href=\"https://github.com/cienciadedatos\"\u003eR4DS_ES\u003c/a\u003e, del grupo de trabajo cd useR!, \u003ca href=\"https://mircommunity.com\"\u003eMiR\u003c/a\u003e, y de la \u003ca href=\"https://www.sadio.org.ar/\"\u003eSociedad Argentina de Informática\u003c/a\u003e (SADIO).\u003c/p\u003e\u003ch2 id=\"vamos-a-conocernos\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#vamos-a-conocernos\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eVamos a conocernos\u003c/h2\u003e\u003cp\u003eEn las próximas semanas y meses, me dedicaré a conocerles, a escucharles y a aprender cómo puedo brindarles mi apoyo tanto a ustedes como a sus \u003ca href=\"https://contributing.ropensci.org/index.html\"\u003econtribuciones\u003c/a\u003e a rOpenSci.\u003c/p\u003e\u003cp\u003eSé que tengo \u003ca href=\"/blog/2022/01/14/msg-from-stefanie/\"\u003egrandes zapatos que llenar\u003c/a\u003e, pero estoy deseando aprender y conocerles a todos y todas.\u003c/p\u003e\u003cp\u003e¡No duden en saludar! Pueden ponerse en contacto conmigo usando el correo electrónico yabellini@ropensci.org y también en \u003ca href=\"https://contributing.ropensci.org/resources.html?q=slack#channels\"\u003eel semi abierto Slack de rOpenSci\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/06/21/introducing-yanina-es/","date_published":"2022-06-21T00:00:01-07:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/b54f4-qg009","title":"Desafíos y soluciones editoriales en la revisión por pares de software","language":"es","authors":[{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]}],"tags":["revisión por pares de software","equipo editorial"],"content_html":"\u003cp\u003eLos procesos de \u003ca href=\"/software-review/\"\u003erevisión de software\u003c/a\u003e y \u003ca href=\"/software-review/\"\u003erevisión de software estadístico\u003c/a\u003e que realizamos en rOpenSci dependen del trabajo voluntario de quienes realizan estas tareas de revisión y edición.El equipo editorial gestiona el flujo diario de envíos, recluta personas para revisar y guía el proceso de revisión por pares de principio a fin. (Su función, al igual que gran parte de nuestro proceso, está \u003ca href=\"https://devguide.ropensci.org/editorguide.html\"\u003eexplicado en la Guía de desarrollo de rOpenSci\u003c/a\u003e). Aunque muchos miembros de nuestra comunidad ya han participado en el proceso de revisión por pares, sólo unos pocos han participado en los roles de edición. En este artículo queremos mostrar algunos de los desafíos a los que se enfrenta nuestro equipo editorial, y algunas de las soluciones que hemos encontrado a lo largo de los años, para hacer más transparente esta parte de nuestro trabajo.\u003c/p\u003e\u003ch2 id=\"decisiones-sobre-el-alcance\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#decisiones-sobre-el-alcance\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eDecisiones sobre el alcance\u003c/h2\u003e\u003cp\u003eDespués de presentar un paquete, antes de que se le asigne una persona en rol de edición y personas para revisarlo, la persona encargada de recibir envíos tiene que evaluar si éste se encuentra \u003cem\u003edentro del ámbito de aplicación\u003c/em\u003e para el proceso de revisión. Tradicionalmente, el \u003ca href=\"https://devguide.ropensci.org/policies.html#aims-and-scope\"\u003ealcance\u003c/a\u003e de rOpenSci se ha centrado en los paquetes que gestionan el ciclo de vida de los datos de investigación. Esto es así tanto para que los paquetes de rOpenSci formen un conjunto coherente de herramientas, como para limitarnos a los paquetes que nuestro equipo editorial y de revisión puedan revisar con los estándares y la experiencia pertinentes.\u003c/p\u003e\u003cp\u003eLas decisiones sobre el alcance pueden ser complicadas, y aunque no hay forma de evitar esa complejidad, descubrimos que se hace más fácil con el tiempo al poder refinar las \u003ca href=\"https://devguide.ropensci.org/policies.html#aims-and-scope\"\u003edescripciones de alcance\u003c/a\u003e ya que hemos visto más casos límite.Una mejor redacción y ejemplos también ayudan a quienes mantienen el paquete a evaluar su posible alcance antes de presentarlo. Ahora que nuestro alcance se está \u003ca href=\"https://stats-devguide.ropensci.org/overview.html#overview-categories\"\u003eampliando para incluir paquetes estadísticos\u003c/a\u003e y esperamos seguir perfeccionando estas categorías en los próximos meses y años.\u003c/p\u003e\u003cp\u003eCuando el alcance de un paquete es ambiguo, el equipo editorial discute la situación en el canal editorial de Slack para llegar a un consenso.En estas discusiones, reconocemos que algunos miembros pueden tener más experiencia en algunos temas, y a veces incluso consultamos a personas expertas en la materia externas al consejo para obtener más información.\u003c/p\u003e\u003cp\u003eHay que tener en cuenta que recomendamos presentar una \u003cem\u003econsulta previa al envío para revisión\u003c/em\u003e antes de un envío completo, para despejar cualquier duda sobre el alcance.\u003c/p\u003e\u003ch2 id=\"reclutar-y-sustituir-personas-revisoras\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#reclutar-y-sustituir-personas-revisoras\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eReclutar y sustituir personas revisoras\u003c/h2\u003e\u003cp\u003eLa revisión de un paquete requiere un tiempo precioso de la apretada agenda de las personas que revisan.Esperamos que la experiencia resulte valiosa (y tratamos de facilitarla con nuestra \u003ca href=\"https://devguide.ropensci.org/reviewerguide.html\"\u003eguía de revisión\u003c/a\u003e), pero reconocemos que es una tarea ardua, que exige más o menos el mismo tiempo que la revisión de un artículo científico.Nuestra lista de \u003ca href=\"https://devguide.ropensci.org/editorguide.html#criteria-for-choosing-a-reviewer\"\u003ecriterios para elegir personas para revisar paquetes\u003c/a\u003e busca garantizar la diversidad (tanto en habilidades como en antecedentes), y crear continuamente un grupo de personas experimentadas en revisar sin sobrecargar a ninguna de ellas. Sin embargo, dificulta aún más la tarea de encontrar personas disponibles.\u003c/p\u003e\u003cp\u003eEl año pasado lanzamos un \u003ca href=\"/blog/2021/11/18/devguide-0.7.0/#a-new-form-for-volunteer-reviewing\"\u003enuevo formulario para proponerse para realizar revisiones\u003c/a\u003e que nos permite recolectar datos más precisos sobre la experiencia técnica y temática, así como una pregunta opcional: \u0026ldquo;¿Te consideras parte de un grupo subrepresentado en los campos de la ciencia de los datos, la programación o en tu campo de trabajo principal?Mantenemos esta información en una base de datos (gestionada con Airtable), junto con el historial de revisiones de cada persona.Esta base de datos es un recurso para el equipo editorial cuando se necesitan personas con una experiencia, una formación o una disponibilidad particulares.\u003c/p\u003e\u003cp\u003eCuando esto no es suficiente, por ejemplo, después de repetidas negativas o falta de respuesta de parte de posibles personas, quien es responsable de la revisión del paquete puede pedir recomendaciones al resto del equipo editorial en nuestro canal de Slack. (Parte del equipo también participa en la edición de revistas científicas tradicionales, y desearíamos poder tener una charla tan útil con el resto del equipo allí).\u003c/p\u003e\u003cp\u003eUn reto a la hora de ponerse en contacto con las personas que pueden revisar es saber cuándo hay que seguir adelante después de esperar una respuesta. Así que hemos añadido \u0026ldquo;Si no tengo noticias tuyas en el plazo de una semana, asumiré que no puedes revisar en este momento\u0026rdquo; a nuestra \u003ca href=\"https://devguide.ropensci.org/reviewrequesttemplate.html\"\u003eplantilla de solicitud de revisión estándar\u003c/a\u003e. Esto pone a todo el mundo en la misma página y proporciona claridad tanto a quienes editan como a quienes potencialmente revisarían.\u003c/p\u003e\u003cp\u003ePor último, cuando la persona que revisa abandona el proceso de revisión (o ya no se puede contactarla)la persona encargada de la edición busca alguien como reemplazo, a menudo una persona a la que se le puede pedir un plazo breve (por ejemplo, alguien del equipo de edición), o ella misma realiza la segunda revisión.El objetivo es no retrasar demasiado el proceso de revisión.\u003c/p\u003e\u003ch2 id=\"responsables-de-paquetes-que-abandonan\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#responsables-de-paquetes-que-abandonan\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eResponsables de paquetes que abandonan\u003c/h2\u003e\u003cp\u003eEs una situación más triste cuando las persona \u003cem\u003eresponsable del paquete\u003c/em\u003e deja de responder, ya que hay que detener el proceso de revisión.Es especialmente decepcionante cuando ocurre después de las revisiones, ya que las personas que revisaron pueden sentir que su trabajo se ha desperdiciado.Al final, no podemos hacer nada al respecto, ya que está fuera del control del equipo de edición y revisión (y de quienes mantienen el paquete).\u003c/p\u003e\u003cp\u003eSin embargo, para evitar problemas sencillos de comunicaciones que se pierden, recomendamos que asegurarse de recibir notificaciones de GitHub, porque intentamos una comunicación transparente a través de GitHub y no solemos utilizar el correo electrónico.Para hacer frente a problemas más importantes relacionados con el tiempo y el compromiso sobre el paquete, hemos añadido recientemente frases a (la versión de desarrollo de) la \u003ca href=\"https://devdevguide.netlify.app/authors-guide.html\"\u003eguía de autoría\u003c/a\u003e y a las plantillas de envío: \u0026ldquo;Espero mantener este paquete durante al menos 2 años o encontrar alguien que me sustituya\u0026rdquo;.Aunque esto no evitará todos los problemas, esperamos que incite a pensar en el mantenimiento del paquete a largo plazo antes de enviarlo para su revisión.\u003c/p\u003e\u003cp\u003eTambién entendemos que, aunque quienes envían un paquete tengan buenas intenciones, la vida puede complicarse inesperadamente.Por lo tanto, otro esfuerzo que hacemos es poner las revisiones \u0026ldquo;en espera\u0026rdquo; (aplicando etiquetas de \u0026ldquo;en espera\u0026rdquo;) según sea necesario.Estas etiquetas de trabajo suspendido se revisan cada tres meses y hasta un año.\u003c/p\u003e\u003ch2 id=\"sobrecarga-de-trabajo-del-equipo-editorial-y-de-revisión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#sobrecarga-de-trabajo-del-equipo-editorial-y-de-revisi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSobrecarga de trabajo del equipo editorial (y de revisión)\u003c/h2\u003e\u003cp\u003eLa revisión de software es un trabajo en equipo: personas que editan, revisan y, obviamente, mantienen el paquete.\u003c/p\u003e\u003cp\u003ePara reducir el trabajo de quienes editan en particular, hemos mejorado la automatización, que fue el tema de una charla con la comunidad, \u003ca href=\"/commcalls/dec2021-automation/\"\u003e\u0026ldquo;Mejorar la revisión por pares del software con la automatización de GitHub\u0026rdquo;\u003c/a\u003e.rOpenSci ha trabajado con The Journal of Open Source Software para ampliar el enfoque de JOSS de la publicación impulsada por chatops en un nuevo chat-bot de GitHub que gestiona nuestro proceso editorial: asignar tareas, etiquetar temas, ejecutar pruebas en los envíos de software, devolver informes a quienes revisan y editan, y registrar las revisiones en una base de datos externa (Airtable). Todo se puede hacer desde la comodidad de un comentario en un issue de GitHub.Por ejemplo, podrías clonar un repositorio localmente, instalar dependencias, ejecutar comprobaciones y publicar manualmente los resultados\u0026hellip; \u003cstrong\u003eo\u003c/strong\u003e podrías simplemente escribir lo siguiente en un comentario en un \u003cem\u003eissue\u003c/em\u003e de GitHub:\u003c/p\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e@ropensci-review-bot check package\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eDel mismo modo, puedes utilizar el siguiente comando para registrar a la persona que revisa en los metadatos del \u003cem\u003eissue\u003c/em\u003e de la revisión, así como en nuestra base de datos Airtable.\u003c/p\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e@ropensci-review-bot add @maelle to reviewers\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eUna gran parte de la limitación de la carga de trabajo de quienes editan es ¡tener suficientes personas en ese rol!  Hemos estado \u003ca href=\"/tags/editors/\"\u003eampliando nuestro equipo editorial\u003c/a\u003e con el objetivo de que cada miembro sólo se ocupe de \u003ca href=\"https://devdevguide.netlify.app/editorguide.html#editors-responsabilities\"\u003eunos 4 envíos al año\u003c/a\u003e.\u003cbr\u003eA medida que nuestro volumen de envíos crece y las personas que editan van rotando (pedimos compromisos de 2 años con opción de renovación), reclutamos nuevas personas para el equipo de edición, en gran parte seleccionadas de nuestro equipo de revisión.Invitamos a personas con experiencia en revisar paquetes a editar de forma invitada y les preguntamos si quieren quedarse si todo funciona bien.\u003cbr\u003eNuestra \u003ca href=\"https://devguide.ropensci.org/editorguide.html\"\u003eguía de edición\u003c/a\u003e facilita la incorporación de las nuevas personas al equipo\u0026hellip; y la incorporación de nuevas personas que van a editar da lugar a comentarios sobre esa guía y, por tanto, a su mejora.Si quieres probar editar ¡\u003ca href=\"/software-reviewer\"\u003eempieza por ofrecerte para revisar\u003c/a\u003e!\u003c/p\u003e\u003ch2 id=\"conclusión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#conclusi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eConclusión\u003c/h2\u003e\u003cp\u003eHemos resumido algunos de los problemas habituales de nuestro equipo editorial.Hemos comprobado que es muy importante automatizar los procesos, pero también que quienes editan puedan comunicarse directamente entre sí para encontrar soluciones, así como para acompañarse y animarse mutuamente.A medida que continúe la revisión del software, seguramente nos encontraremos con nuevos retos que abordar.Esperamos que nuestras experiencias sean útiles para quienes editen en el futuro y que puedan ayudar a informar a otros consejos editoriales.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/04/19/software-review-editorial-challenges-es/","date_published":"2022-04-19T00:00:01-07:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/v2at4-pkf16","title":"¡pkgcheck ahora disponible como acción de GitHub!","language":"es","authors":[{"name":"Jacob Wujciak-Jens","url":"https://orcid.org/0000-0002-7281-3989","avatar":"https://github.com/assignUser.png","_role":["author"]},{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Mark Padgham","url":"https://orcid.org/0000-0003-2172-5265","avatar":"https://ropensci.org/img/team/mark-padgham.jpg","_role":["author"]}],"tags":["ropensci-review-bot","pkgcheck","tech notes"],"content_html":"\u003ch2 id=\"qué-es-pkgcheck\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#qu%c3%a9-es-pkgcheck\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Qué es pkgcheck?\u003c/h2\u003e\u003cp\u003eEl \u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck\"\u003epaquete pkgcheck\u003c/a\u003eha sido desarrollado por rOpenSci para automatizar el proceso de la comprobación de todos los paquetes enviados para surevisión. El \u003ccode\u003eropensci-review-bot\u003c/code\u003e ejecuta automáticamente pkgcheck en todos los envíos, y los editores también pueden activar las comprobaciones en cualquier momento utilizando el comando:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"o\"\u003e@\u003c/span\u003e\u003cspan class=\"n\"\u003eropensci\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003ereview\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003ebot\u003c/span\u003e \u003cspan class=\"n\"\u003echeck\u003c/span\u003e \u003cspan class=\"n\"\u003epackage\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEl bot devolverá una lista de comprobaciones que debería tener este aspecto:\u003c/p\u003e\u003cfigure\u003e\u003ca href=\"https://github.com/ropensci/software-review/issues/463#issuecomment-921010197\"\u003e\u003cimg src=\"/blog/2022/02/01/pkgcheck-action/cffr-pkgcheck.png\"\t\t\talt=\"resultados de pkgcheck del envío reciente\"\u003e\u003c/a\u003e\u003c/figure\u003e\u003cp\u003ePara estar listo para la revisión por pares, pkgcheck debe devolver una serie de ✔, que indican comprobaciones correctas, y no debe haber ningún símbolo ✘, que indica comprobaciones fallidas. Se recomienda a quien esté preparando un paquete para enviarlo que utilize: \u003ca href=\"https://devguide.ropensci.org/authors-guide.html\"\u003e\u0026ldquo;utilizar pkgcheck\u0026rdquo;\u003c/a\u003e para confirmar que el paquete está listo para ser enviado. Hasta ahora, esto sólo era posible a través de la red local \u003ca href=\"https://devguide.ropensci.org/authors-guide.html\"\u003einstalando el paquete y ejecutando el comando \u003ccode\u003epkgcheck()\u003c/code\u003e\u003c/a\u003e. Las comprobaciones locales sufren dos desventajas importantes:\u003c/p\u003e\u003col\u003e\u003cli\u003eLos resultados sólo pueden ser reproducibles en un sistema local, en lugar de ser reproducibles de forma general; y\u003c/li\u003e\u003cli\u003eLas comprobaciones realizadas por pkgcheck incluyen todas las comprobaciones realizadas por \u003ca href=\"https://r-lib.github.io/rcmdcheck/\"\u003eel paquete rcmdcheck\u003c/a\u003e que puede tardar bastante tiempo en ejecutarse.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eAl igual que la \u003ca href=\"https://github.com/r-lib/actions/blob/v2-branch/examples/check-standard.yaml\"\u003eacción de GitHub rcmdcheck \u003c/a\u003e que puede instalarse fácilmente con una de las \u003ca href=\"https://usethis.r-lib.org/reference/github_actions.html\"\u003efunciones \u003ccode\u003euse_github_action_check_...\u003c/code\u003e del paquete \u003ccode\u003eusethis\u003c/code\u003e\u003c/a\u003e, ahora, pkgcheck también tiene una acción de GitHub que supera estos dos inconvenientes ejecutándose remotamente en GitHub y generando resultados reproducibles.\u003c/p\u003e\u003ch2 id=\"la-acción-pkgcheck-de-github\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-acci%c3%b3n-pkgcheck-de-github\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa acción pkgcheck de GitHub\u003c/h2\u003e\u003cp\u003eEste artículo es el anuncio \u0026ldquo;oficial\u0026rdquo; del lanzamiento de la acción pkgcheck, una acción de GitHub que permite ejecutar comprobaciones cada vez que se envía algún código a GitHub. La acción fue desarrollada por uno de nosotros (Jacob), y puede encontrarse en \u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck-action\"\u003eel GitHub en ropensci-review-tools/pkgcheck-action\u003c/a\u003e. La forma más sencilla de utilizar esta acción en tu propio repositorio es instalar \u003ca href=\"https://docs.ropensci.org/pkgcheck/#installation\"\u003eel paquete pkgcheck\u003c/a\u003e y ejecutar \u003ca href=\"https://docs.ropensci.org/pkgcheck/reference/use_github_action_pkgcheck.html\"\u003ela función \u003ccode\u003euse_github_action_pkgcheck()\u003c/code\u003e\u003c/a\u003e. Esto colocará un nuevo archivo en la carpeta \u003ccode\u003e.github/workflows\u003c/code\u003e y un directorio en tu paquete llamado \u0026ldquo;pkgcheck.yaml\u0026rdquo;, cuyo ejemplo se muestra en \u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck-action#usage\"\u003eel README principal del repositorio pkgcheck-action\u003c/a\u003e. La acción consiste en una única tarea expresada en las líneas finales:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nt\"\u003ejobs\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e  \u003c/span\u003e\u003cspan class=\"nt\"\u003echeck\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003eruns-on\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eubuntu-latest\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e    \u003c/span\u003e\u003cspan class=\"nt\"\u003esteps\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"w\"\u003e      \u003c/span\u003e- \u003cspan class=\"nt\"\u003euses\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\u003cspan class=\"w\"\u003e \u003c/span\u003e\u003cspan class=\"l\"\u003eropensci-review-tools/pkgcheck-action@main\u003c/span\u003e\u003cspan class=\"w\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eHay varios parámetros también descriptos en ese README principal, que pueden pasarse como parámetros a \u003ca href=\"https://docs.ropensci.org/pkgcheck/reference/use_github_action_pkgcheck.html\"\u003ela función \u003ccode\u003euse_github_action_pkgcheck()\u003c/code\u003e\u003c/a\u003e o añadirla al archivo YAML del flujo de trabajo, como también se describe en el README. Una vez creada la acción en tu repositorio, puedes activarla añadiéndola en un commit de git y enviándola a GitHub.\u003c/p\u003e\u003ch3 id=\"publicar-los-resultados-de-pkgcheck-en-un-issue-de-github\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#publicar-los-resultados-de-pkgcheck-en-un-issue-de-github\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePublicar los resultados de pkgcheck en un \u003cem\u003eissue\u003c/em\u003e de GitHub\u003c/h3\u003e\u003cp\u003eAdemás de que el flujo de trabajo imprima todos los detalles devueltos por la función principal de pkgcheck, el resultado de este también puede publicarse en un \u003cem\u003eissue\u003c/em\u003e de GitHub, donde aparecerá exactamente como en el ejemplo anterior. Una vez finalizado el flujo de trabajo, recibirás una notificación y podrás ver los resultados de la comprobación (con un icono \u003ccode\u003esummary-only\u003c/code\u003e que determina si sólo se publicará en la incidencia un resumen de los resultados como el mostrado anteriormente, o si se publicarán los resultados completos que incluyen el resumen seguido de bastantes más detalles). El flujo de trabajo sólo tendrá éxito cuando se hayan superado todas las comprobaciones de pkgcheck.\u003c/p\u003e\u003ch2 id=\"utilizar-la-acción-pkgcheck-para-preparar-el-envío\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#utilizar-la-acci%c3%b3n-pkgcheck-para-preparar-el-env%c3%ado\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUtilizar la acción pkgcheck para preparar el envío\u003c/h2\u003e\u003cp\u003eEsta acción hace que la preparación de paquetes para su envío a la revisión por pares con rOpenSci sea mucho más fácil, al confirmar automáticamente si un paquete cumple los requisitos generales para el envío a rOpenSci. Puedes utilizar la acción pkgcheck para confirmar que un paquete está listo para su envío siguiendo estos tres sencillos pasos:\u003c/p\u003e\u003col\u003e\u003cli\u003eInserta la acción en tu repositorio con \u003ca href=\"https://docs.ropensci.org/pkgcheck/reference/use_github_action_pkgcheck.html\"\u003e\u003ccode\u003epkgcheck::use_github_action_pkgcheck()\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\u003cli\u003eAñade y confirma el script de la acción en tu índice git, y envíalo a GitHub para activarlo.\u003c/li\u003e\u003cli\u003eExamina los resultados en la incidencia creada automáticamente en tu repositorio de GitHub, modifica el repositorio para abordar cualquier comprobación que falle, y repite.\u003c/li\u003e\u003cli\u003eUna vez superada la acción, verás: \u0026ldquo;✔ Este paquete puede ser enviado\u0026rdquo;.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eTambién puedes poner un distintivo pkgcheck en tu README insertando una versión modificada de estas líneas:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-md\" data-lang=\"md\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e[\u003cspan class=\"nt\"\u003e![pkgcheck\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://github.com/\u0026lt;org\u0026gt;/\u0026lt;repo\u0026gt;/workflows/pkgcheck/badge.svg\u003c/span\u003e)](https://github.com/\u0026lt;org\u0026gt;/\u0026lt;repo\u0026gt;/actions?query=workflow%3Apkgcheck)\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eUna vez que tu paquete supere todas las pruebas, el distintivo se volverá verde y tendrá este aspecto:\u003c/p\u003e\u003csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"128\" height=\"20\"\u003e  \u003cdefs\u003e    \u003cGradiente lineal id=\"workflow-fill\" x1=\"50%\" y1=\"0%\" x2=\"50%\" y2=\"100%\"\u003e      \u003cstop stop-color=\"#444D56\" offset=\"0%\"\u003e\u003c/stop\u003e      \u003cstop stop-color=\"#24292E\" offset=\"100%\"\u003e\u003c/stop\u003e    \u003c/linearGradiente\u003e    \u003cGradiente lineal id=\"relleno-estado\" x1=\"50%\" y1=\"0%\" x2=\"50%\" y2=\"100%\"\u003e      \u003cstop stop-color=\"#34D058\" offset=\"0%\"\u003e\u003c/stop\u003e      \u003cstop stop-color=\"#28A745\" offset=\"100%\"\u003e\u003c/stop\u003e    \u003c/linearGradient\u003e  \u003c/defs\u003e  \u003cg fill=\"none\" fill-rule=\"evenodd\"\u003e    \u003cg font-family=\"\u0026#39;DejaVu Sans\u0026#39;,Verdana,Geneva,sans-serif\" font-size=\"11\"\u003e      \u003cpath id=\"flujo-trabajo-bg\" d=\"M0,3 C0,1.3431 1.3552,0 3.02702703,0 L102,0 L102,20 L3.02702703,20 C1.3552,20 0,18.6569 0,17 L0,3 Z\" fill=\"url(#flujo-trabajo-relleno)\" fill-rule=\"nonzero\"\u003e\u003c/path\u003e      \u003ctext fill=\"#010101\" fill-opacity=\".3\"\u003e        \u003ctspan x=\"22.1981982\" y=\"15\"\u003epkgcheck\u003c/tspan\u003e      \u003c/text\u003e      \u003ctext fill=\"#FFFFFF\"\u003e        \u003ctspan x=\"22.1981982\" y=\"14\"\u003epkgcheck\u003c/tspan\u003e      \u003c/text\u003e    \u003c/g\u003e    \u003cg transform=\"translate(79)\" font-family=\"\u0026#39;DejaVu Sans\u0026#39;,Verdana,Geneva,sans-serif\" font-size=\"11\"\u003e      \u003cpath d=\"M0 0h46.939C48.629 0 50 1.343 50 3v14c0 1.657-1.37 3-3.061 3H0V0z\" id=\"state-bg\" fill=\"url(#state-fill)\" fill-rule=\"nonzero\"\u003e\u003c/path\u003e      \u003ctext fill=\"#010101\" fill-opacity=\".3\"\u003e        \u003ctspan x=\"4\" y=\"15\"\u003epasando\u003c/tspan\u003e      \u003c/texto\u003e      \u003ctexto fill=\"#FFFFFF\"\u003e        \u003ctspan x=\"4\" y=\"14\"\u003epasando\u003c/tspan\u003e      \u003c/text\u003e    \u003c/g\u003e    \u003cpath fill=\"#959DA5\" d=\"M11 3c-3.868 0-7 3.132-7 7a6.996 6.996 0 0 0 4.786 6.641c.35.062.482-.148.482-.332 0-.166-.01-.718-.01-1.304-1.758.324-2.213-.429-2.353-.822-.079-.202-.42-.823-.717-.99-.245-.13-.595-.454-.01-.463.552-.009.946.508 1.077.718.63 1.058 1.636.76 2.039.577.061-.455.245-.761.446-.936-1.557-.175-3.185-.779-3.185-3.456 0-.762.271-1.392.718-1.882-.07-.175-.315-.892.07-1.855 0 0 .586-.183 1.925.718a6.5 6.5 0 0 1 1.75-.236 6.5 6.5 0 0 1 1.75.236c1.338-.91 1.925-.718 1.925-.718.385.963.14 1.68.07 1.855.446.49.717 1.112.717 1.882 0 2.686-1.636 3.28-3.194 3.456.254.219.473.639.473 1.295 0 .936-.009 1.689-.009 1.925 0 .184.131.402.481.332A7.011 7.011 0 0 0 18 10c0-3.867-3.133-7-7-7z\"\u003e\u003c/path\u003e\u003e  \u003c/g\u003e\u003c/svg\u003e\u003cp\u003eAsí sabrás que tu paquete está listo para ser enviado.\u003c/p\u003e\u003cp\u003eY por último, no dudes en hacer cualquier pregunta sobre el uso de pkgcheck-action, o informar de cualquier error en: \u003ca href=\"https://github.com/ropensci-review-tools/pkgcheck-action/issues\"\u003ehttps://github.com/ropensci-review-tools/pkgcheck-action/issues\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2022/02/01/pkgcheck-action/","date_published":"2022-02-01T00:00:00+00:00","date_modified":"2025-05-15T20:47:00-03:00"},{"id":"https://doi.org/10.59350/pgeev-8ty43","title":"Generar y personalizar insignias en R-Universe","language":"es","authors":[{"name":"Jeroen Ooms","url":"https://orcid.org/0000-0002-4035-0289","avatar":"https://ropensci.org/img/team/jeroen_ooms.jpg","_role":["author"]},{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]}],"tags":["r-universe","insignias","notas técnicas"],"content_html":"\u003ch2 id=\"insignias-en-r-universe\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#insignias-en-r-universe\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eInsignias en R-Universe\u003c/h2\u003e\u003cp\u003eDespués de \u003ca href=\"/blog/2021/06/22/setup-runiverse/\"\u003ecrear tu universo personal\u003c/a\u003e el panel de control en \u003ccode\u003ehttps://{yourname}.r-universe.dev\u003c/code\u003e muestra la versión y otros detalles de cada paquete de tu repositorio. También hemos añadido una nueva \u003ca href=\"https://ropensci.r-universe.dev/ui#badges\"\u003epestaña\u003c/a\u003e que muestra las insignias disponibles para el repositorio con sus URLs.\u003c/p\u003e\u003cfigure\u003e\u003ca href=\"https://ropensci.r-universe.dev/ui#badges\"\u003e\u003cimg src=\"/blog/2021/10/14/runiverse-badges/screenshot.png\"\u003e\u003c/a\u003e\u003c/figure\u003e\u003cp\u003eLas insignias son una buena forma de mostrar el estado de tu repositorio o de paquetes individuales en páginas web externas, como un archivo LÉAME, tu página de inicio o tus \u003ca href=\"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme\"\u003epersonal\u003c/a\u003e u \u003ca href=\"https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile\"\u003eorganización\u003c/a\u003e LÉEME del perfil en GitHub.\u003c/p\u003e\u003cp\u003eActualmente hay dos tipos de insignias en r-universe: insignias de paquetes individuales que muestran la versión actual del paquete, e insignias globales (donde el punto final lleva el prefijo \u003ccode\u003e:\u003c/code\u003e) que muestran el nombre, el recuento y el estado de todo el repositorio.\u003c/p\u003e\u003ch2 id=\"insignias-de-la-versión-del-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#insignias-de-la-versi%c3%b3n-del-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eInsignias de la versión del paquete\u003c/h2\u003e\u003cp\u003eEn \u003ccode\u003e/badges/{pkg}\u003c/code\u003e proporciona un distintivo con la versión actual del paquete dado en el repositorio. Un lugar habitual para mostrar esta insignia es en el archivo README del paquete, junto con las instrucciones de instalación del paquete.\u003c/p\u003e\u003cp\u003eSi el paquete también está en CRAN, podrías colocarlo junto a una insignia de \u003ca href=\"https://docs.r-hub.io/#badges-for-cran-packages\"\u003er-pkg.org\u003c/a\u003e para contrastarlo con la versión actual de CRAN y las instrucciones de instalación, por ejemplo, la página \u003ca href=\"https://github.com/r-lib/gert/blob/master/README.md\"\u003eLÉEME del paquete gert\u003c/a\u003e:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-md\" data-lang=\"md\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e![\u003cspan class=\"nt\"\u003eruniverse-name example badge\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://ropensci.r-universe.dev/badges/:name\u003c/span\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e![\u003cspan class=\"nt\"\u003eruniverse-package example badge for gert package\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://ropensci.r-universe.dev/badges/gert\u003c/span\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e![\u003cspan class=\"nt\"\u003ecran-badge example for gert package\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttp://www.r-pkg.org/badges/version/gert\u003c/span\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eQue tiene el siguiente aspecto. Aquí los usuarios pueden ver inmediatamente en el README que el paquete está disponible en el universo rOpenSci, y que la versión de R-Universe es superior a la versión de CRAN.\u003c/p\u003e\u003cp\u003e\u003ca href=\"https://github.com/r-lib/gert\"\u003e\u003cimg src=\"/blog/2021/10/14/runiverse-badges/gert.png\" alt=\"README del paquete gert mostrando la placa en uso\"\u003e\u003c/a\u003e\u003c/p\u003e\u003ch2 id=\"insignias-de-estado-del-repositorio\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#insignias-de-estado-del-repositorio\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eInsignias de estado del repositorio\u003c/h2\u003e\u003cp\u003eAdemás de las insignias para paquetes individuales, el sistema también proporciona algunas insignias con información sobre el estado de todo el repositorio de paquetes. Por ejemplo:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ccode\u003e/badges/:name\u003c/code\u003e el nombre del universo, es decir, tu nombre de usuario de github.\u003c/li\u003e\u003cli\u003e\u003ccode\u003e/badges/:total\u003c/code\u003e el número total de paquetes del repositorio.\u003c/li\u003e\u003cli\u003e\u003ccode\u003e/badges/:registry\u003c/code\u003e si la última actualización de monorepo se ha realizado correctamente, es decir, si tu registro de paquetes está bien.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eLa última insignia en particular puede serte muy útil ya que se pondrá en rojo cuando algo vaya mal en tu archivo de registro de paquetes. Esto suele significar que tu \u003ca href=\"/blog/2021/06/22/setup-runiverse/#the-packagesjson-registry-file\"\u003epackages.json\u003c/a\u003e puede hacer referencia a repositorios git o ramas que no existen, o que el sistema no encontró un paquete adecuado en la ubicación indicada.\u003c/p\u003e\u003cp\u003eEste es el aspecto de las insignias para el universo rOpenSci:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-md\" data-lang=\"md\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e![\u003cspan class=\"nt\"\u003eruniverse-name\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://ropensci.r-universe.dev/badges/:name\u003c/span\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e![\u003cspan class=\"nt\"\u003eruniverse-registry\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://ropensci.r-universe.dev/badges/:registry\u003c/span\u003e)\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e![\u003cspan class=\"nt\"\u003eruniverse-total\u003c/span\u003e](\u003cspan class=\"na\"\u003ehttps://ropensci.r-universe.dev/badges/:total\u003c/span\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e\u003cimg src=\"https://ropensci.r-universe.dev/badges/:name\" alt=\"Insignia de nombre\"\u003e\u003cimg src=\"https://ropensci.r-universe.dev/badges/:registry\" alt=\"Insignia de estado de la construcción\"\u003e\u003cimg src=\"https://ropensci.r-universe.dev/badges/:total\" alt=\"Insignia de número de paquetes\"\u003e\u003c/p\u003e\u003ch2 id=\"personaliza-el-estilo-de-la-insignia\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#personaliza-el-estilo-de-la-insignia\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePersonaliza el estilo de la insignia\u003c/h2\u003e\u003cp\u003eUno de los primeros usuarios de R-universe \u003ca href=\"https://github.com/r-universe-org/help/issues/87\"\u003esolicitó\u003c/a\u003e algunas opciones para personalizar el aspecto visual de las insignias. Hemos añadido 3 parámetros http a la API de las insignias:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ccode\u003escale\u003c/code\u003e el tamaño de la insignia (donde 1 es el valor por defecto);\u003c/li\u003e\u003cli\u003e\u003ccode\u003ecolor\u003c/code\u003e el color de la insignia;\u003c/li\u003e\u003cli\u003e\u003ccode\u003estyle\u003c/code\u003e ajústalo a \u0026ldquo;plano\u0026rdquo; para obtener insignias de estilo retro.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ePor ejemplo: \u003ccode\u003ehttps://ropensci.r-universe.dev/badges/:total?scale=2\u0026amp;color=pink\u0026amp;style=flat\u003c/code\u003e\u003c/p\u003e\u003cp\u003e\u003cimg src=\"https://ropensci.r-universe.dev/badges/:total?scale=2\u0026amp;color=pink\u0026amp;style=flat\" alt=\"Ejemplo de insignia con estilo personalizado\"\u003e\u003c/p\u003e\u003cp\u003eEn \u003ca href=\"https://www.npmjs.com/package/badgen\"\u003ebadgen\u003c/a\u003e contiene más detalles sobre estos parámetros. Nuestro \u003ca href=\"https://github.com/r-universe-org/cranlike-server/blob/master/routes/badges.js\"\u003ebackend\u003c/a\u003e para esta API es bastante sencillo, intenta enviar una solicitud de ¿extracción? si tienes ideas para otras insignias útiles.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2021/10/14/runiverse-badges/","date_published":"2021-10-14T00:00:00+00:00","date_modified":"2025-09-15T09:26:00+02:00"},{"id":"https://doi.org/10.59350/2c6ay-ffs96","title":"Creando Tu R-universe","language":"es","authors":[{"name":"Yanina Bellini Saibene","url":"https://orcid.org/0000-0002-4522-7466","avatar":"https://github.com/yabellini.png","_role":["author"]}],"tags":["r-universe","comunidad"],"content_html":"\u003cp\u003eDurante \u003ca href=\"https://user2021.r-project.org/\"\u003euseR! 2021\u003c/a\u003e Jeroen Ooms presentó \u003ca href=\"https://jeroen.github.io/user2021/#1\"\u003eel proyecto universo R\u003c/a\u003e en su \u003cem\u003ekeynote\u003c/em\u003e.Comentó sobre el proyecto, los casos de uso y repasó las instrucciones para crear tu propio \u003cem\u003euniverso-r\u003c/em\u003e. En este post the explico como crear el tuyo a partir de la experiencia de crear el mio.\u003c/p\u003e\u003ch2 id=\"el-proyecto-universo-r-r-universe\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-proyecto-universo-r-r-universe\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl proyecto universo R (R-universe)\u003c/h2\u003e\u003cp\u003eEn la web de \u003ca href=\"https://ropensci.org/\"\u003erOpenSci\u003c/a\u003e se define a \u003ca href=\"https://r-universe.dev/organizations/\"\u003er-universe\u003c/a\u003e como una plataforma que proporciona a usuarias/os y organizaciones un \u003cstrong\u003erepositorio personal similar a CRAN\u003c/strong\u003e para publicar software, artículos \u003cem\u003ermarkdown\u003c/em\u003e y otro contenido que un un paquete de R pueda contener.\u003c/p\u003e\u003cp\u003eCuando te unes a \u003cem\u003er-universe\u003c/em\u003e, el sistema rastrea automáticamente los repositorios \u003cem\u003egit\u003c/em\u003e que registraste en tu perfil y que contienen paquetes de R.Crea los binarios para instalarlos en Windows y MacOS, genera viñetas y hace que todos estos datos estén disponibles a través de paneles, feeds y API en subdominios personales.\u003c/p\u003e\u003cp\u003eEl subdominio tendrá \u003cem\u003etu nombre de usuario\u003c/em\u003e de github, más el dominio \u003ccode\u003er-universe.dev/\u003c/code\u003e, de esta manera, mi subdominio es:\u003c/p\u003e\u003cp\u003e\u003ccode\u003ehttps://yabellini.r-universe.dev/\u003c/code\u003e\u003c/p\u003e\u003cp\u003eUna de las características más interesantes es que puedes empezar a instalar los paquetes que están en tu \u003cem\u003euniverso-r\u003c/em\u003e con la función \u003ccode\u003einstall.packages\u003c/code\u003e aunque el paquete no esté en CRAN.Esta funcionalidad es muy interesante para quienes somos docentes y generamos paquetes para nuestras clases.\u003c/p\u003e\u003ch2 id=\"cómo-generar-tu-propio-universo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-generar-tu-propio-universo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eCómo generar tu propio universo\u003c/h2\u003e\u003cp\u003eDurante esta charla, el disertante, compartió \u003ca href=\"blog/2021/06/22/setup-runiverse/\"\u003eeste blog post\u003c/a\u003e que explica como generar tu propio universo. Aquí mi paso a paso siguiendo estas instrucciones:\u003c/p\u003e\u003ch3 id=\"paso-1-crear-un-respositorio\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-1-crear-un-respositorio\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 1: crear un respositorio\u003c/h3\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_univserse_crear_repo.png\"\t\t\talt=\"Resumen de los pasos a seguir para crear el resposirio necesario para generar nuestro universo-r\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eResumen de los pasos a seguir para crear el resposirio necesario para generar nuestro \u003ccode\u003euniverso-r\u003c/code\u003e\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003ea. Crea un nuevo repositorio llamado \u003ccode\u003e{yourname}.r-universe.dev\u003c/code\u003e en tu cuenta de GitHub. Para eso ingresas a tu cuenta de github (paso 1),\u003c/p\u003e\u003cp\u003eb. luego haces click en el signo más (+) que se encuentra arriba a la derecha y seleccionas la opción \u003cem\u003eNew repository (nuevo repositorio)\u003c/em\u003e (paso 2).\u003c/p\u003e\u003cp\u003ec. En la pantalla \u003cem\u003eCreate new repository\u003c/em\u003e completamos el \u003cem\u003erepository name (nombre del repositorio)\u003c/em\u003e con \u003cstrong\u003e{yourname}.r-universe.dev\u003c/strong\u003e (paso 3), seleccionamos el repositorio como \u003cem\u003epublic (público)\u003c/em\u003e (paso 4) y lo generamos presionando el botón \u003cem\u003eCreate repository (crear repositorio)\u003c/em\u003e (paso 5).\u003c/p\u003e\u003ch3 id=\"paso-2-detallar-los-paquetes-que-agregaremos-a-nuestro-universo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-2-detallar-los-paquetes-que-agregaremos-a-nuestro-universo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 2. detallar los paquetes que agregaremos a nuestro universo\u003c/h3\u003e\u003cp\u003eUna vez que el repositorio se creó se nos mostrará una pantalla con opciones para iniciar ese repo.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_univserse_repo_vacio.png\"\u003e\u003c/figure\u003e\u003cp\u003ea. Presionar en el link \u003cem\u003ecreate a new file (crear un nuevo archivo)\u003c/em\u003e (paso 1) para generar un archivo llamado \u003ccode\u003epackages.json\u003c/code\u003e. Este archivo debe enumerar los repositorios de los paquetes que queremos incluir en nuestro \u003ccode\u003euniverso-r\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eb. Completar este archivo con los datos de los paquetes siguiendo el siguiente formato:\u003c/p\u003e\u003cul\u003e\u003cli\u003een el campo \u003ccode\u003eurl\u003c/code\u003e se debe completar con \u003cstrong\u003euna URL pública de git del repositorio del paquete\u003c/strong\u003e.\u003c/li\u003e\u003cli\u003een el campo \u003ccode\u003epackage\u003c/code\u003e va el nombre del paquete \u003cstrong\u003etal cual está escrito\u003c/strong\u003e en el archivo \u003ccode\u003eDESCRIPTION\u003c/code\u003e que se encuentra en el repo indicado por la url.\u003c/li\u003e\u003cli\u003eSi el paquete R no se encuentra en la raíz del repositorio, también se debe establecer el campo \u003ccode\u003esubdir\u003c/code\u003e en la ruta del directorio raíz del paquete R.\u003c/li\u003e\u003c/ul\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_univserse_packages.png\"\t\t\talt=\"los paquetes que yo agregué a mi universo\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003elos paquetes que yo agregué a mi universo\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003ec. Cuando terminamos de completar los datos, presionamos en el botón \u003cem\u003eCommit new file\u003c/em\u003e.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_univserse_repo_listo.png\"\u003e\u003c/figure\u003e\u003ch3 id=\"paso-3-instalar-la-aplicación-r-universe-en-github\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-3-instalar-la-aplicaci%c3%b3n-r-universe-en-github\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 3: instalar la aplicación R-universe en GitHub\u003c/h3\u003e\u003cp\u003eEn este paso debes instalar la aplicación R-universe en tu cuenta de GitHub haciendo click en \u003ca href=\"https://github.com/apps/r-universe/installations/new\"\u003eeste link\u003c/a\u003e y seleccionando tu cuenta de la primera pantalla que aparece (paso 1).En la segunda pantalla se recomienda seleccionar \u003cem\u003eall the repositories (todos los repositorios)\u003c/em\u003e (paso 2) y luego hacer click en el botón \u003cem\u003eNext (siguiente)\u003c/em\u003e (paso 3).\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_univserse_instalar_app.png\"\t\t\talt=\"Primero la ventana ¿dónde queres instalar r-universe? con el listado de mi cuenta de github y organizaciones de las que soy parte, luego la ventana instalar en cuenta personal con la opción todos los repositorios seleccionada y el botón Siguiente resaltado.\"\u003e\u003c/figure\u003e\u003cp\u003eSe nos presentará la siguiente imágen dandonos la bienvenida al \u003cem\u003euniverso-r\u003c/em\u003e\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_universe_listo.png\"\t\t\talt=\"pantalla de bienvenida al r-universe.  Presenta un mení al lado izquierdo con las opciones (en inglés) de paquetes, artículos, universos, personas que mantienen, setup, acerca de, fuente y ayuda. Al lado derecho, texto de bienvenida e instrucciones sobre r-universe\"\u003e\u003c/figure\u003e\u003ch3 id=\"paso-4-r-universe-listo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-4-r-universe-listo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 4: R-universe listo\u003c/h3\u003e\u003cp\u003eUna vez que se haya instalado la aplicación, el sistema creará automáticamente tu repositorio personal bajo la organización \u003cem\u003er-universe\u003c/em\u003e: \u003ccode\u003ehttps://github.com/r-universe/\u0026lt;tu_nombre_de_usuario\u0026gt;\u003c/code\u003e (ver imagen siguiente). Aquí es donde el sistema mantiene el historial completo de tus paquetes .\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_universe_repo_creado.png\"\t\t\talt=\"mi repositorio r-universe\"\u003e\u003c/figure\u003e\u003cp\u003eDespués de un par de minutos, por lo general, no más de una hora (en mi caso fueron unos 15 minutos), los paquetes y artículos de los que se hayan completado la compilación en todas las plataformas comenzarán a aparecer en tu panel personal y estarán disponibles para que los usuarios los instalen.\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_universe_panel.png\"\t\t\talt=\"panel personal\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003epanel personal\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eAllí se presentan tus datos del perfil de github y la información de los paquetes que agregaste a tu universo.\u003c/p\u003e\u003ch3 id=\"paso-5-contale-a-tus-usuarios-de-universo-r\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#paso-5-contale-a-tus-usuarios-de-universo-r\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePaso 5: contale a tus usuarios de universo-r\u003c/h3\u003e\u003cp\u003eEste paso es opcional, pero una linda idea, podés agregar al \u003cem\u003ereadme\u003c/em\u003e de tus paquetes que están disponibles en \u003cem\u003er-universe\u003c/em\u003e con instrucciones para instalarlos y agregando una etiqueta que indique que están en \u003cem\u003er-universe\u003c/em\u003e.\u003c/p\u003e\u003cp\u003ePara esto podés agregar las siguientes instrucciones:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Habilitar este universo\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eoptions\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003erepos\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eyabellini\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#39;https://yabellini.r-universe.dev\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eCRAN\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#39;https://cloud.r-project.org\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Instalar el paquete\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003einstall.packages\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#39;learnres\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ey para agregar una etiqueta r-universe a tu paquete podés agregar la siguiente línea a tu rmarkdown:\u003c/p\u003e\u003cp\u003e\u003ccode\u003e![r-universe](https://yabellini.r-universe.dev/badges/\u0026lt;nombre_del_paquete\u0026gt;)\u003c/code\u003e\u003c/p\u003e\u003cp\u003epor ejemplo,\u003c/p\u003e\u003cp\u003e\u003ccode\u003e![r-universe](https://yabellini.r-universe.dev/badges/learnres)\u003c/code\u003e\u003c/p\u003e\u003cp\u003egenera una etiqueta mostrando la versión del paquete disponible en \u003cem\u003er-universe\u003c/em\u003e:\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/1/01/01/r_universe_readme.png\"\u003e\u003c/figure\u003e\u003cp\u003e¡Esto es todo!, espero que este paso a paso te ayude a generar tu propio \u003cem\u003euniverso-r\u003c/em\u003e con tus paquetes.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2021/09/21/creando-tu-r-universe/","date_published":"2021-09-21T00:00:00+00:00","_relationships":[{"url":"https://yabellini.netlify.app/es/post/r_universe/","title":"Yanina Bellini Saibene's blog","relation":"IsIdenticalTo"}],"date_modified":"2025-09-15T09:26:00+02:00"},{"id":"https://doi.org/10.59350/wjm2f-n8z42","title":"La Historia de censo2017, el Primer Paquete de rOpenSci Revisado en Español","language":"es","authors":[{"name":"Mauricio Vargas Sepúlveda","url":"https://ropensci.org/es/author/mauricio-vargas-sep%C3%BAlveda/","avatar":"https://github.com/pachadotdev.png","_role":["author"]}],"tags":["ciencia-abierta","investigación reproducible","acceso a datos","extracción de datos","geoespacial","comunidad","revisión por pares de software","censo2017"],"content_html":"\u003ch2 id=\"resumen\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#resumen\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eResumen\u003c/h2\u003e\u003cp\u003e\u003ca href=\"https://docs.ropensci.org/censo2017\"\u003ecenso2017\u003c/a\u003e es un paquete en R diseñado paraorganizar los archivos \u003ca href=\"https://www.cepal.org/es/temas/redatam\"\u003eRedatam\u003c/a\u003e\u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003eproporcionados por el Instituto Nacional de Estadísticas de Chile en formatoDVD\u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e. Este paquete fue inspirado por \u003ca href=\"https://github.com/ropensci/citedb\"\u003ecitesdb\u003c/a\u003e(\u003ca href=\"/autor/noam-ross/\"\u003eNoam Ross\u003c/a\u003e, 2020) y \u003ca href=\"https://github.com/ropensci/taxadb\"\u003etaxadb\u003c/a\u003e(\u003ca href=\"/autor/carl-boettiger/\"\u003eCarl Boettiger\u003c/a\u003e et al, 2021).Esta entrada trata sobre este paquete, elproblema que resuelve, cómo usarlo, y el hecho de que el paquete y su proceso derevisión se hicieron \u003ca href=\"https://github.com/ropensci/software-review/issues/414\"\u003eíntegramente enespañol\u003c/a\u003e.\u003c/p\u003e\u003ch2 id=\"el-desafío-del-censo\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-desaf%c3%ado-del-censo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl desafío del censo\u003c/h2\u003e\u003cp\u003eLa motivaciónpara haber completado esto es que, hace ya casi dos años, tuve que completar unatarea que me exigía extraer datos del mencionado DVD y se me complicó mucho.\u003c/p\u003e\u003cp\u003eTuve que pedir prestado un portátil con Windows y conseguir un lector de DVDexterno para poder leer esos archivos REDATAM y obtener algunos resúmenes depoblación con un software específico para ese formato. Para mi sorpresa, latarea empezó a complicarse cada vez más, hasta el punto de querer exportar losdatos a SQL para facilitar la extracción de datos.\u003c/p\u003e\u003cp\u003eMi objetivo no era extraer secretos estadísticos, lo cual no es posible conestos conjuntos de datos, sólo quería obtener valores de población porintervalos de edad para diferentes regiones, entre otras agregaciones similares,que es algo que dplyr y otras herramientas facilitan mucho. Después de poderconvertir los conjuntos de datos y la descripción de las variables a CSV/XML,descubrí que el esfuerzo de hacerlo justificaba la creación de un paquete de Rpara organizar mi trabajo.\u003c/p\u003e\u003ch2 id=\"el-largo-camino-hacia-la-simplicidad\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#el-largo-camino-hacia-la-simplicidad\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEl largo camino hacia la simplicidad\u003c/h2\u003e\u003cp\u003eEl \u003ca href=\"http://www.scielo.org.mx/scielo.php?pid=S0186-72102016000300811\u0026amp;script=sci_arttext\"\u003eConversorREDATAM\u003c/a\u003epermite exportar bases de datos REDATAM completas en CSV para su uso en, porejemplo, R o Python. Lamentablemente, esta herramienta también es exclusiva deWindows, y como usuario de Linux quería que los conjuntos de datos del censoestuvieran fácilmente disponibles para todas las plataformas.\u003c/p\u003e\u003cp\u003eAdemás de REDATAM, usar CSV para un censo no es la mejor opción, ya que implicaleer tablas de 4 GB desde el disco. Esto es tan grande que la mayoría de losordenadores portátiles no podrán realizar uniones, independientemente de laherramienta que se utilice (R, Python o subherramientas como readr o data.table,por mencionar algunas herramientas excelentes). Sin embargo, el uso de unaherramienta basada en SQL, como DuckDB, permite realizar consultas eficientes ypermite que la mayoría de las operaciones de censo sean posibles en un portátilcomún.\u003c/p\u003e\u003cp\u003ecenso2017 crea una base de datos local e integrada \u003ca href=\"https://duckdb.org/\"\u003eDuckDB\u003c/a\u003eque simplifica el análisis de los conjuntos de datos del censo. Permite unaconsulta eficiente y es accesible a través de una interfaz compatible con\u003ca href=\"https://dbi.r-dbi.org/\"\u003eDBI\u003c/a\u003e. El paquete también proporciona un panelinteractivo para \u003ca href=\"https://www.rstudio.com\"\u003eRStudio\u003c/a\u003e que permite explorar la basede datos y previsualizar los datos. El objetivo final de este trabajo esfacilitar el acceso a los datos a los investigadores en Humanidades y CienciasSociales.\u003c/p\u003e\u003ch2 id=\"cómo-funciona-censo2017\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#c%c3%b3mo-funciona-censo2017\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Cómo funciona censo2017?\u003c/h2\u003e\u003cp\u003ePara una rápida ilustración, supongamos que no hemos instalado el paquete y labase de datos local, que son dos pasos separados.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# instalar, cargar el paquete y crear base de datos local\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eremotes\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003einstall_github\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;ropensci/censo2017\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecenso2017\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003ecenso_descargar\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# para usar collect() y expresiones regulares\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003edplyr\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eSabemos que hay aproximadamente 17 millones de habitantes en Chile, pero¿cuántos de ellos son hombres/mujeres? ¿Qué edad tienen los chilenos? ¿Cuántosde ellos asistieron a la universidad/instituto profesional? ¿Cuántos de ellostrabajan en cada rama de actividad económica\u003csup id=\"fnref:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e? Las preguntas censales \u0026ldquo;p08\u0026rdquo;,\u0026ldquo;p09\u0026rdquo;, \u0026ldquo;p15\u0026rdquo; y \u0026ldquo;p18\u0026rdquo; nos entregan esta información.\u003c/p\u003e\u003cp\u003eEste paquete cuenta con una tabla de metadatos (variables) que no forma parte delos archivos originales, ya que fue inferida de la estructura de REDATAM, quenos indica a qué tabla pertenece cada variable. Por ejemplo, utilizando dplyrpodemos buscar descripciones que coincidan con \u0026ldquo;Curso\u0026rdquo;.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;variables\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecollect\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003egrepl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Curso\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003edescripcion\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etabla\u003c/span\u003e    \u003cspan class=\"n\"\u003evariable\u003c/span\u003e \u003cspan class=\"n\"\u003edescripcion\u003c/span\u003e                       \u003cspan class=\"n\"\u003etipo\u003c/span\u003e    \u003cspan class=\"n\"\u003erango\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e                             \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e   \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep14\u003c/span\u003e      \u003cspan class=\"n\"\u003eCurso\u003c/span\u003e \u003cspan class=\"n\"\u003eo\u003c/span\u003e \u003cspan class=\"n\"\u003eAño\u003c/span\u003e \u003cspan class=\"n\"\u003eMás\u003c/span\u003e \u003cspan class=\"n\"\u003eAlto\u003c/span\u003e \u003cspan class=\"n\"\u003eAprobado\u003c/span\u003e     \u003cspan class=\"n\"\u003einteger\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"m\"\u003e8\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e      \u003cspan class=\"n\"\u003eNivel\u003c/span\u003e \u003cspan class=\"n\"\u003edel\u003c/span\u003e \u003cspan class=\"n\"\u003eCurso\u003c/span\u003e \u003cspan class=\"n\"\u003eMás\u003c/span\u003e \u003cspan class=\"n\"\u003eAlto\u003c/span\u003e \u003cspan class=\"n\"\u003eAprobado\u003c/span\u003e \u003cspan class=\"n\"\u003einteger\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"m\"\u003e14\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAquellos que estén familiarizados con estos códigos podrán recordar cada valorde \u0026ldquo;p15\u0026rdquo;, pero afortunadamente para el resto de nosotros, este paquete tambiénadjunta las etiquetas, por lo que cualquier usuario puede ver que \u0026ldquo;p15 = 12\u0026rdquo;significa \u0026ldquo;la persona asistió a la universidad\u0026rdquo;.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;variables_codificacion\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecollect\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003evariable\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;p15\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e   \u003cspan class=\"n\"\u003etabla\u003c/span\u003e    \u003cspan class=\"n\"\u003evariable\u003c/span\u003e \u003cspan class=\"n\"\u003evalor\u003c/span\u003e \u003cspan class=\"n\"\u003edescripcion\u003c/span\u003e                                               \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e   \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eint\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e                                                     \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"n\"\u003eSala\u003c/span\u003e \u003cspan class=\"n\"\u003eCuna\u003c/span\u003e \u003cspan class=\"n\"\u003eo\u003c/span\u003e \u003cspan class=\"n\"\u003eJardín\u003c/span\u003e \u003cspan class=\"n\"\u003eInfantil\u003c/span\u003e                               \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"n\"\u003ePrekínder\u003c/span\u003e                                                 \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e3\u003c/span\u003e \u003cspan class=\"n\"\u003eKínder\u003c/span\u003e                                                    \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e4\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e4\u003c/span\u003e \u003cspan class=\"n\"\u003eEspecial\u003c/span\u003e \u003cspan class=\"n\"\u003eo\u003c/span\u003e \u003cspan class=\"n\"\u003eDiferencial\u003c/span\u003e                                    \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e5\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e5\u003c/span\u003e \u003cspan class=\"n\"\u003eEducación\u003c/span\u003e \u003cspan class=\"n\"\u003eBásica\u003c/span\u003e                                          \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e6\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e6\u003c/span\u003e \u003cspan class=\"n\"\u003ePrimaria\u003c/span\u003e \u003cspan class=\"n\"\u003eo\u003c/span\u003e \u003cspan class=\"nf\"\u003ePreparatoria \u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eSistema\u003c/span\u003e \u003cspan class=\"n\"\u003eAntiguo\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e                 \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e7\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e7\u003c/span\u003e \u003cspan class=\"n\"\u003eCientífico\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eHumanista\u003c/span\u003e                                      \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e8\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e8\u003c/span\u003e \u003cspan class=\"n\"\u003eTécnica\u003c/span\u003e \u003cspan class=\"n\"\u003eProfesional\u003c/span\u003e                                       \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e9\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e          \u003cspan class=\"m\"\u003e9\u003c/span\u003e \u003cspan class=\"nf\"\u003eHumanidades \u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eSistema\u003c/span\u003e \u003cspan class=\"n\"\u003eAntiguo\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e                             \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e10\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e         \u003cspan class=\"m\"\u003e10\u003c/span\u003e \u003cspan class=\"n\"\u003eTécnica\u003c/span\u003e \u003cspan class=\"n\"\u003eComercial\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eIndustrial\u003c/span\u003e\u003cspan class=\"o\"\u003e/\u003c/span\u003e\u003cspan class=\"nf\"\u003eNormalista \u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eSistema\u003c/span\u003e \u003cspan class=\"n\"\u003eAntiguo\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e11\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e         \u003cspan class=\"m\"\u003e11\u003c/span\u003e \u003cspan class=\"n\"\u003eTécnico\u003c/span\u003e \u003cspan class=\"nf\"\u003eSuperior \u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e1-3\u003c/span\u003e \u003cspan class=\"n\"\u003eAños\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e                               \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e12\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e         \u003cspan class=\"m\"\u003e12\u003c/span\u003e \u003cspan class=\"nf\"\u003eProfesional \u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e4\u003c/span\u003e \u003cspan class=\"n\"\u003eo\u003c/span\u003e \u003cspan class=\"n\"\u003eMás\u003c/span\u003e \u003cspan class=\"n\"\u003eAños\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e                                \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e13\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e         \u003cspan class=\"m\"\u003e13\u003c/span\u003e \u003cspan class=\"n\"\u003eMagíster\u003c/span\u003e                                                  \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e14\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e         \u003cspan class=\"m\"\u003e14\u003c/span\u003e \u003cspan class=\"n\"\u003eDoctorado\u003c/span\u003e                                                 \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e15\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e         \u003cspan class=\"m\"\u003e99\u003c/span\u003e \u003cspan class=\"n\"\u003eValor\u003c/span\u003e \u003cspan class=\"n\"\u003ePerdido\u003c/span\u003e                                             \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e16\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e         \u003cspan class=\"m\"\u003e98\u003c/span\u003e \u003cspan class=\"n\"\u003eNo\u003c/span\u003e \u003cspan class=\"n\"\u003eAplica\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ePara obtener información detallada de cada municipio/región en relación con laspreguntas anteriores, tenemos que pensar en los datos de REDATAM como un árbol,y es necesario unir \u0026ldquo;zonas\u0026rdquo; con \u0026ldquo;viviendas\u0026rdquo; por ID de zona, luego unir\u0026ldquo;viviendas\u0026rdquo; con \u0026ldquo;hogares\u0026rdquo; por ID de vivienda, y luego \u0026ldquo;hogares\u0026rdquo; con \u0026ldquo;personas\u0026rdquo;por ID de hogar. Esto se hace rápidamente con el backend DuckDB.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;zonas\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eregion\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esubstr\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eas.character\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecomuna\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esubstr\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eas.character\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e5\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eregion\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecomuna\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ezonaloc_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003einner_join\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;viviendas\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ezonaloc_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003evivienda_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003eby\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;zonaloc_ref_id\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003einner_join\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;hogares\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003evivienda_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ehogar_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003eby\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;vivienda_ref_id\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003einner_join\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;personas\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003ehogar_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ep08\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ep15\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ep18\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003eby\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;hogar_ref_id\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecollect\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eSe puede obtener una rápida verificación con una cuenta. La tablaresultante tiene mucho sentido y refleja estadísticas resumidas de conocimientocomún, como que en la capital (región #13) hay unos 7 millones de habitantes.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eregion\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecount\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e   \u003cspan class=\"n\"\u003eregion\u003c/span\u003e       \u003cspan class=\"n\"\u003en\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e   \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eint\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e01\u003c/span\u003e      \u003cspan class=\"m\"\u003e330558\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e02\u003c/span\u003e      \u003cspan class=\"m\"\u003e607534\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e \u003cspan class=\"m\"\u003e03\u003c/span\u003e      \u003cspan class=\"m\"\u003e286168\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e4\u003c/span\u003e \u003cspan class=\"m\"\u003e04\u003c/span\u003e      \u003cspan class=\"m\"\u003e757586\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e5\u003c/span\u003e \u003cspan class=\"m\"\u003e05\u003c/span\u003e     \u003cspan class=\"m\"\u003e1815902\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e6\u003c/span\u003e \u003cspan class=\"m\"\u003e06\u003c/span\u003e      \u003cspan class=\"m\"\u003e914555\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e7\u003c/span\u003e \u003cspan class=\"m\"\u003e07\u003c/span\u003e     \u003cspan class=\"m\"\u003e1044950\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e8\u003c/span\u003e \u003cspan class=\"m\"\u003e08\u003c/span\u003e     \u003cspan class=\"m\"\u003e2037414\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e9\u003c/span\u003e \u003cspan class=\"m\"\u003e09\u003c/span\u003e      \u003cspan class=\"m\"\u003e957224\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e10\u003c/span\u003e \u003cspan class=\"m\"\u003e10\u003c/span\u003e      \u003cspan class=\"m\"\u003e828708\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e11\u003c/span\u003e \u003cspan class=\"m\"\u003e11\u003c/span\u003e      \u003cspan class=\"m\"\u003e103158\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e12\u003c/span\u003e \u003cspan class=\"m\"\u003e12\u003c/span\u003e      \u003cspan class=\"m\"\u003e166533\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e13\u003c/span\u003e \u003cspan class=\"m\"\u003e13\u003c/span\u003e     \u003cspan class=\"m\"\u003e7112808\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e14\u003c/span\u003e \u003cspan class=\"m\"\u003e14\u003c/span\u003e      \u003cspan class=\"m\"\u003e384837\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e15\u003c/span\u003e \u003cspan class=\"m\"\u003e15\u003c/span\u003e      \u003cspan class=\"m\"\u003e226068\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ePara conocer la proporción de hombres (1) y mujeres (2) por región,el código es muy similar.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003epersonas\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eregion\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ep08\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecount\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eregion\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ep\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003en\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"nf\"\u003esum\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003en\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003eregion\u003c/span\u003e   \u003cspan class=\"n\"\u003ep08\u003c/span\u003e      \u003cspan class=\"n\"\u003en\u003c/span\u003e     \u003cspan class=\"n\"\u003ep\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e   \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eint\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003eint\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003edbl\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e01\u003c/span\u003e         \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e167793\u003c/span\u003e \u003cspan class=\"m\"\u003e0.508\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e01\u003c/span\u003e         \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e162765\u003c/span\u003e \u003cspan class=\"m\"\u003e0.492\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e \u003cspan class=\"m\"\u003e02\u003c/span\u003e         \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e315014\u003c/span\u003e \u003cspan class=\"m\"\u003e0.519\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e4\u003c/span\u003e \u003cspan class=\"m\"\u003e02\u003c/span\u003e         \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e292520\u003c/span\u003e \u003cspan class=\"m\"\u003e0.481\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e5\u003c/span\u003e \u003cspan class=\"m\"\u003e03\u003c/span\u003e         \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e144420\u003c/span\u003e \u003cspan class=\"m\"\u003e0.505\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e6\u003c/span\u003e \u003cspan class=\"m\"\u003e03\u003c/span\u003e         \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e141748\u003c/span\u003e \u003cspan class=\"m\"\u003e0.495\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e7\u003c/span\u003e \u003cspan class=\"m\"\u003e04\u003c/span\u003e         \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e368774\u003c/span\u003e \u003cspan class=\"m\"\u003e0.487\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e8\u003c/span\u003e \u003cspan class=\"m\"\u003e04\u003c/span\u003e         \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e388812\u003c/span\u003e \u003cspan class=\"m\"\u003e0.513\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e9\u003c/span\u003e \u003cspan class=\"m\"\u003e05\u003c/span\u003e         \u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e880215\u003c/span\u003e \u003cspan class=\"m\"\u003e0.485\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e10\u003c/span\u003e \u003cspan class=\"m\"\u003e05\u003c/span\u003e         \u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e935687\u003c/span\u003e \u003cspan class=\"m\"\u003e0.515\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# … with 20 more rows  \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEn este punto obtuvimos agregaciones simples, pero siendo R un lenguajeestadístico, puede interesarte hacer inferencia. A modo de ejemplo, supongamosque la población sigue una distribución normal, por lo que tiene sentidoencontrar la estimación del intervalo de confianza del 95% de la diferenciaentre la proporción de hombres de la tercera edad\u003csup id=\"fnref:4\"\u003e\u003ca href=\"#fn:4\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e4\u003c/a\u003e\u003c/sup\u003e y la proporción de mujeresde la tercera edad, cada una dentro de su grupo etario.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003esexo_vs_edad\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;personas\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esexo\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ep08\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ep09\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eanciano\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eifelse\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ep09\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan class=\"m\"\u003e64\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eanciano\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecount\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"c1\"\u003e# re-ordeno las etiquetas, lo hago en esta parte por eficiencia\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eanciano\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eifelse\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eanciano\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;1. anciano\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;2. no-anciano\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003esexo\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eifelse\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003esexo\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;1. masculino\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;2. femenino\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eungroup\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecollect\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003esexo_vs_edad\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003esexo\u003c/span\u003e         \u003cspan class=\"n\"\u003eanciano\u003c/span\u003e              \u003cspan class=\"n\"\u003en\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e        \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e            \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003edbl\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"n\"\u003e. masculino\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"n\"\u003e. no\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eanciano\u003c/span\u003e  \u003cspan class=\"m\"\u003e7666728\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"n\"\u003e. femenino\u003c/span\u003e  \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"n\"\u003e. no\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eanciano\u003c/span\u003e  \u003cspan class=\"m\"\u003e7751676\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e3\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"n\"\u003e. masculino\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"n\"\u003e. anciano\u003c/span\u003e      \u003cspan class=\"m\"\u003e935261\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e4\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"n\"\u003e. femenino\u003c/span\u003e  \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"n\"\u003e. anciano\u003c/span\u003e     \u003cspan class=\"m\"\u003e1220338\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAntes de realizar una prueba de proporciones, tenemos que reordenar los datos yluego proceder a la prueba.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003extabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003en\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"n\"\u003eanciano\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esexo_vs_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eanciano\u003c/span\u003e         \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"n\"\u003e. masculino\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"n\"\u003e. femenino\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"n\"\u003e. anciano\u003c/span\u003e          \u003cspan class=\"m\"\u003e935261\u003c/span\u003e     \u003cspan class=\"m\"\u003e1220338\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"n\"\u003e. no\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003eanciano\u003c/span\u003e      \u003cspan class=\"m\"\u003e7666728\u003c/span\u003e     \u003cspan class=\"m\"\u003e7751676\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eprop.test\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003extabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003en\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"n\"\u003eanciano\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003esex\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esex_vs_elder\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003esample\u003c/span\u003e \u003cspan class=\"n\"\u003etest\u003c/span\u003e \u003cspan class=\"kr\"\u003efor\u003c/span\u003e \u003cspan class=\"n\"\u003eequality\u003c/span\u003e \u003cspan class=\"n\"\u003eof\u003c/span\u003e \u003cspan class=\"n\"\u003eproportions\u003c/span\u003e \u003cspan class=\"n\"\u003ewith\u003c/span\u003e \u003cspan class=\"n\"\u003econtinuity\u003c/span\u003e \u003cspan class=\"n\"\u003ecorrection\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003edata\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e  \u003cspan class=\"nf\"\u003extabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003en\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"n\"\u003eanciano\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003esexo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003esexo_vs_edad\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eX\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003esquared\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e30392\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003edf\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ep\u003c/span\u003e\u003cspan class=\"o\"\u003e-\u003c/span\u003e\u003cspan class=\"n\"\u003evalue\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e \u003cspan class=\"m\"\u003e2.2e-16\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ealternative\u003c/span\u003e \u003cspan class=\"n\"\u003ehypothesis\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003etwo.sided\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e95\u003c/span\u003e \u003cspan class=\"n\"\u003epercent\u003c/span\u003e \u003cspan class=\"n\"\u003econfidence\u003c/span\u003e \u003cspan class=\"n\"\u003einterval\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"m\"\u003e-0.06407740\u003c/span\u003e \u003cspan class=\"m\"\u003e-0.06266263\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003esample\u003c/span\u003e \u003cspan class=\"n\"\u003eestimates\u003c/span\u003e\u003cspan class=\"o\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e   \u003cspan class=\"n\"\u003eprop\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e    \u003cspan class=\"n\"\u003eprop\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e0.4338752\u003c/span\u003e \u003cspan class=\"m\"\u003e0.4972452\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eLa estimación del intervalo de confianza del 95% de la diferencia entre laproporción de hombres ancianos y no ancianos es de entre -6,4% y -6,3%, lo queestá en consonancia con el hecho de que las mujeres tienden a tener una mayoresperanza de vida en Chile (consulta\u003ca href=\"https://www.statista.com/statistics/949308/life-expectancy-birth-chile-gender/\"\u003eStatista\u003c/a\u003epara comparar). Lo que quería demostrar aquí es que usando este paquete, es muyfácil pasar datos a R, para poder realizar análisis de regresión u otrosanálisis estadísticos sobre la población chilena.\u003c/p\u003e\u003ch2 id=\"integración-de-censo2017-con-otros-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#integraci%c3%b3n-de-censo2017-con-otros-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eIntegración de censo2017 con otros paquetes\u003c/h2\u003e\u003cp\u003eSe puede usar censo2017 con ggplot2 y otros paquetes de uso habitual. Para dar unejemplo, es posible replicar diversos mapas de hacinamiento que han levantadodesde \u003ca href=\"https://www.instagram.com/geografaschile/\"\u003eGeógrafas Chile\u003c/a\u003e y el\u003ca href=\"https://twitter.com/CPE_UDLA\"\u003eCentro de Producción del Espacio\u003c/a\u003eque dan cuenta del hacinamiento en la Región Metropolitana.\u003c/p\u003e\u003cp\u003ePara obtener esto, necesitasla cantidad de personas por vivienda y lacantidad de dormitorios de las viviendas. Puedes obtener las columnascorrespondientes de la misma forma que se hizo en los ejemplos anteriores.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;variables\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecollect\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003egrepl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Pers\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003edescripcion\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etabla\u003c/span\u003e     \u003cspan class=\"n\"\u003evariable\u003c/span\u003e \u003cspan class=\"n\"\u003edescripcion\u003c/span\u003e          \u003cspan class=\"n\"\u003etipo\u003c/span\u003e    \u003cspan class=\"n\"\u003erango\u003c/span\u003e   \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e     \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e                \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e   \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e   \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"n\"\u003epersonas\u003c/span\u003e  \u003cspan class=\"n\"\u003epersonan\u003c/span\u003e \u003cspan class=\"n\"\u003eNúmero\u003c/span\u003e \u003cspan class=\"n\"\u003ede\u003c/span\u003e \u003cspan class=\"n\"\u003ela\u003c/span\u003e \u003cspan class=\"n\"\u003ePersona\u003c/span\u003e \u003cspan class=\"n\"\u003einteger\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"m\"\u003e9999\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e2\u003c/span\u003e \u003cspan class=\"n\"\u003eviviendas\u003c/span\u003e \u003cspan class=\"n\"\u003ecant_per\u003c/span\u003e \u003cspan class=\"n\"\u003eCantidad\u003c/span\u003e \u003cspan class=\"n\"\u003ede\u003c/span\u003e \u003cspan class=\"n\"\u003ePersonas\u003c/span\u003e \u003cspan class=\"n\"\u003einteger\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"m\"\u003e9999\u003c/span\u003e  \u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;variables\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecollect\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003egrepl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Dorm\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003edescripcion\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003etabla\u003c/span\u003e     \u003cspan class=\"n\"\u003evariable\u003c/span\u003e \u003cspan class=\"n\"\u003edescripcion\u003c/span\u003e                                            \u003cspan class=\"n\"\u003etipo\u003c/span\u003e    \u003cspan class=\"n\"\u003erango\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e     \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e    \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e                                                  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e   \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e\u003cspan class=\"n\"\u003echr\u003c/span\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"n\"\u003eviviendas\u003c/span\u003e \u003cspan class=\"n\"\u003ep04\u003c/span\u003e      \u003cspan class=\"n\"\u003eNúmero\u003c/span\u003e \u003cspan class=\"n\"\u003ede\u003c/span\u003e \u003cspan class=\"n\"\u003ePiezas\u003c/span\u003e \u003cspan class=\"n\"\u003eUsadas\u003c/span\u003e \u003cspan class=\"n\"\u003eExclusivamente\u003c/span\u003e \u003cspan class=\"n\"\u003eComo\u003c/span\u003e \u003cspan class=\"n\"\u003eDormitorio\u003c/span\u003e \u003cspan class=\"n\"\u003einteger\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"m\"\u003e6\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eCon las variables \u0026ldquo;cant_per\u0026rdquo; y \u0026ldquo;p04\u0026rdquo; se podría seguir la metodología del\u003ca href=\"https://www.desarrollosocialyfamilia.gob.cl/\"\u003eMinisterio de Desarrollo Social\u003c/a\u003e,que consiste en tomar la razón entre elnúmero de personas residentes en la vivienda y el número de dormitorios de lamisma y luego se tramifica la variable en las siguientes categorías:\u003c/p\u003e\u003cul\u003e\u003cli\u003eSin hacinamiento [0;2,5)\u003c/li\u003e\u003cli\u003eMedio [2,5;3,5)\u003c/li\u003e\u003cli\u003eAlto [3,5;4,9)\u003c/li\u003e\u003cli\u003eCrítico [5,+∞)\u003c/li\u003e\u003c/ul\u003e\u003cp\u003ePuedes obtener la tabla con el índice de hacinamiento para cada vivienda con elsiguiente código.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ehacinamiento\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;zonas\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eregion\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esubstr\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eas.character\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eprovincia\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esubstr\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eas.character\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e3\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecomuna\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003esubstr\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eas.character\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e5\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eregion\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e13\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecomuna\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ezonaloc_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003einner_join\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eselect\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003etbl\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecenso_conectar\u003c/span\u003e\u003cspan class=\"p\"\u003e(),\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;viviendas\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003ezonaloc_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e                    \u003cspan class=\"n\"\u003evivienda_ref_id\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecant_per\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ep04\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e             \u003cspan class=\"n\"\u003eby\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;zonaloc_ref_id\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ecant_per\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eas.numeric\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecant_per\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ep04\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eas.numeric\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ep04\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ep04\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ecase_when\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003ep04\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e98\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"kc\"\u003eNA_real_\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003ep04\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"m\"\u003e99\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"kc\"\u003eNA_real_\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"kc\"\u003eTRUE\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"nf\"\u003eas.numeric\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ep04\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e!\u003c/span\u003e\u003cspan class=\"nf\"\u003eis.na\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ep04\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"c1\"\u003e# Indice Hacinamiento (variables a nivel vivienda)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eind_hacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ecase_when\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"c1\"\u003e# con esto divido la cant de personas por pieza (si piezas \u0026gt;= 1) y \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"c1\"\u003e# tambien si es igual a cero (donde aplica pieza cero + 1 para casos\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"c1\"\u003e# como apartamento studio, etc)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003ep04\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e\u003cspan class=\"m\"\u003e1\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"n\"\u003ecant_per\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003ep04\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003ep04\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e\u003cspan class=\"m\"\u003e0\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"n\"\u003ecant_per\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ep04\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"m\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"c1\"\u003e# Categorias hacinamiento\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003ehacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ecase_when\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eind_hacinam\u003c/span\u003e  \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e \u003cspan class=\"m\"\u003e2.5\u003c/span\u003e                     \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Sin Hacinamiento\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eind_hacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan class=\"m\"\u003e2.5\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eind_hacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e \u003cspan class=\"m\"\u003e3.5\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Medio\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eind_hacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan class=\"m\"\u003e3.5\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e \u003cspan class=\"n\"\u003eind_hacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u003c/span\u003e \u003cspan class=\"m\"\u003e5\u003c/span\u003e   \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Alto\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e      \u003cspan class=\"n\"\u003eind_hacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan class=\"m\"\u003e5\u003c/span\u003e                       \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Crítico\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecollect\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003ePara obtener los porcentajes, puedes agregar para obtener las cuentascorrespondientes, teniendo en cuenta que no se debe ignorar los ceros, enespecial si quieres visualizar la información, o tendrás áreas con vacíosen el mapa. Para esto se usará tidyr y janitor para tener una columna para cadacategoria de hacinamiento.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etidyr\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ejanitor\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ehacinamiento1\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003ehacinamiento\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egroup_by\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ehacinam\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003ecount\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ehacinamiento2\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"nf\"\u003eexpand_grid\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003eunique\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ehacinamiento\u003c/span\u003e\u003cspan class=\"o\"\u003e$\u003c/span\u003e\u003cspan class=\"n\"\u003egeocodigo\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"n\"\u003ehacinam\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003ec\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;Sin Hacinamiento\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Medio\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Alto\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Crítico\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ehacinamiento2\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;-\u003c/span\u003e \u003cspan class=\"n\"\u003ehacinamiento2\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eleft_join\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ehacinamiento1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003epivot_wider\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003enames_from\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;hacinam\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003evalues_from\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;n\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eclean_names\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate_if\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eis.numeric\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"kr\"\u003efunction\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"nf\"\u003ecase_when\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003eis.na\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"m\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"kc\"\u003eTRUE\u003c/span\u003e \u003cspan class=\"o\"\u003e~\u003c/span\u003e \u003cspan class=\"nf\"\u003eas.numeric\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ex\u003c/span\u003e\u003cspan class=\"p\"\u003e)))\u003c/span\u003e \u003cspan class=\"o\"\u003e%\u0026gt;%\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003emutate\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003etotal_viviendas\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003esin_hacinamiento\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003emedio\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003ealto\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"n\"\u003ecritico\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eprop_sin\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e100\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003esin_hacinamiento\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003etotal_viviendas\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eprop_medio\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e100\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003emedio\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003etotal_viviendas\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eprop_alto\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e100\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003ealto\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003etotal_viviendas\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e    \u003cspan class=\"n\"\u003eprop_critico\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"m\"\u003e100\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e \u003cspan class=\"n\"\u003ecritico\u003c/span\u003e \u003cspan class=\"o\"\u003e/\u003c/span\u003e \u003cspan class=\"n\"\u003etotal_viviendas\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ehacinamiento2\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# # A tibble: 2,421 x 10\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#    geocodigo   sin_hacinamiento medio  alto critico total_viviendas prop_sin prop_medio prop_alto prop_critico\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#    \u0026lt;chr\u0026gt;                  \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt; \u0026lt;dbl\u0026gt;   \u0026lt;dbl\u0026gt;           \u0026lt;dbl\u0026gt;    \u0026lt;dbl\u0026gt;      \u0026lt;dbl\u0026gt;     \u0026lt;dbl\u0026gt;        \u0026lt;dbl\u0026gt;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  1 13101011001             1072    28     2       2            1104     97.1       2.54     0.181        0.181\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  2 13101011002             1127    57    14       7            1205     93.5       4.73     1.16         0.581\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  3 13101011003             1029    23     6       4            1062     96.9       2.17     0.565        0.377\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  4 13101011004              801    49    18      13             881     90.9       5.56     2.04         1.48 \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  5 13101011005              886    49     9       5             949     93.4       5.16     0.948        0.527\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  6 13101021001             1219   107    35      16            1377     88.5       7.77     2.54         1.16 \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  7 13101021002             1223    78    15       7            1323     92.4       5.90     1.13         0.529\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  8 13101021003             1173   105    34       9            1321     88.8       7.95     2.57         0.681\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e#  9 13101021004             1199   110    47      14            1370     87.5       8.03     3.43         1.02 \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# 10 13101021005              826    87    29      10             952     86.8       9.14     3.05         1.05 \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# # … with 2,411 more rows\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAhora estás en condiciones de crear un mapa. Se muestra elmapa de hacinamiento medio a modo de ejemplo, los otros casos quedan comoejercicio.\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# if (!require(\u0026#34;colRoz\u0026#34;)) remotes::install_github(\u0026#34;jacintak/colRoz\u0026#34;)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003echilemapas\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003elibrary\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecolRoz\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"nf\"\u003eggplot\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_sf\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003edata\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003einner_join\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ehacinamiento2\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003emapa_zonas\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003efill\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eprop_medio\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003egeometry\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003egeometry\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003egeom_sf\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003edata\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003efilter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003emapa_comunas\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ecodigo_region\u003c/span\u003e \u003cspan class=\"o\"\u003e==\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;13\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e          \u003cspan class=\"nf\"\u003eaes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003egeometry\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003egeometry\u003c/span\u003e\u003cspan class=\"p\"\u003e),\u003c/span\u003e \u003cspan class=\"n\"\u003ecolour\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;#2A2B75\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003efill\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003eNA\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003eylim\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e-33.65\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e-33.3\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003exlim\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"m\"\u003e-70.85\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"m\"\u003e-70.45\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003escale_fill_gradientn\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecolors\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nf\"\u003erev\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nf\"\u003ecolRoz_pal\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;ngadju\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)),\u003c/span\u003e \u003cspan class=\"n\"\u003ename\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;% viviendas hacinadas\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e  \u003cspan class=\"nf\"\u003elabs\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etitle\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;Porcentaje de viviendas con hacinamiento medio en la Región Metropolitana\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cfigure\u003e\u003cimg src=\"mapa-hacinamiento-medio.png\"\t\t\talt=\"Mapa de la Región Metropolitana con polígonos que representan los barrios y coloreados según el grado de hacinamiento\"\u003e\u003c/figure\u003e\u003ch2 id=\"enlaces-con-formación-y-políticas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#enlaces-con-formaci%c3%b3n-y-pol%c3%adticas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eEnlaces con formación y políticas\u003c/h2\u003e\u003cp\u003eEl uso de formatos abiertos en sí mismo facilita el trabajo, ya que reduce losproblemas de compatibilidad a la hora de leer los datos, pero los conjuntos dedatos tienen que incluir la documentación adecuada, no sólo estar disponibles enformatos adecuados. Para el caso particular de censo2017, hace más equitativoslos recursos para la educación e investigación, ya que ayuda a cualquierinstitución que realice cursos de estadística aplicada o investigación arealizar análisis estadísticos censales independientemente de las herramientasque utilicen, y enfocarse en una región o en cualquier grupo de interés, como lapoblación indígena, los ancianos o las personas que viven en departamentos.\u003c/p\u003e\u003cp\u003eLa base de datos censales que proporciono dentro del paquete puede ser leída enPython, Java C++, node.js e incluso desde una línea de comandos, y es importantemencionar que es multiplataforma. Para el caso del análisis estadístico aplicadobasado en GUI, censo2017 hace muy fácil la exportación de subconjuntos aMicrosoft Excel o Google Sheets, sin las desventajas del formato original delcenso anteriormente comentado, e incluso a Stata y SPSS gracias al ecosistema depaquetes R.\u003c/p\u003e\u003cp\u003eLos que, como yo, escribimos paquetes R podemos hacer nuestra contribucióncreando herramientas que puedan ayudar a los países de la región a retomar elcamino hacia el logro de los Objetivos de Desarrollo Sostenible definidos porlas Naciones Unidas, incluso a pesar del reciente aumento del proteccionismo, laincertidumbre política y la actitud poco clara hacia el régimen comercialmundial que se observa en América Latina. Desarrollar y promover una políticareflexiva es la única manera de decir \u0026ldquo;jaque mate\u0026rdquo; al subdesarrollo.\u003c/p\u003e\u003ch2 id=\"contribución-de-la-comunidad-ropensci\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#contribuci%c3%b3n-de-la-comunidad-ropensci\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eContribución de la comunidad rOpenSci\u003c/h2\u003e\u003cp\u003eLa ayuda de rOpenSci y su \u003ca href=\"https://github.com/ropensci/software-review/issues/414\"\u003erevisión desoftware\u003c/a\u003e fuefundamental. Los revisores, \u003ca href=\"https://www.mpaulacaldas.com/\"\u003eMaría Paula Caldas\u003c/a\u003e,\u003ca href=\"https://www.fransvandunne.com/\"\u003eFrans van Dunné\u003c/a\u003e y \u003ca href=\"/autor/melina-vidoni/\"\u003eMelinaVidoni\u003c/a\u003e probaron el paquete y sugirieron mejoras. Susrevisiones fueron muy útiles, dieron consejos muy valiosos y apoyaron mucho mitrabajo y el desarrollo del paquete.\u003c/p\u003e\u003cp\u003eEl lector interesado encontrará un registro completo de todos los cambiosrealizados durante el proceso de revisión, donde todo está comentado en español,y habrá nuevos paquetes rOpenSci en idiomas distintos del inglés. Desde 2011,rOpenSci ha estado creando infraestructura técnica en forma de herramientas desoftware R que reducen las barreras para trabajar con datos científicos.Recuerdo la charla de mi amiga y colega \u003ca href=\"https://www.rstudio.com/resources/rstudioconf-2020/the-development-of-datos-package-for-the-r4ds-spanish-translation/\"\u003eRivaQuiroga\u003c/a\u003e,donde destaca que iniciativas como ésta no son sólo software, sino herramientaspara hacer más fuerte a la comunidad.\u003c/p\u003e\u003cp\u003eMe encantaría ver diferentes \u0026ldquo;copias\u0026rdquo; de censo2017 en los países vecinos Perú yBolivia, y el resto de la región. Crear el primer paquete de rOpenSci totalmentedocumentado en español no sólo tiene que ver con la inclusión, que obviamente esdeseable. También tiene que ver con la productividad, porque en AméricaLatina los materiales que están documentados en inglés son difíciles deentender y por lo tanto las herramientas no son adoptadas como uno quisiera. Asícomo la infraestructura de R4DS en español motivó la creación de R4DS enportugués, espero que censo2017 abra la puerta a colaboraciones interesantes ypaquetes similares en diferentes idiomas.\u003c/p\u003e\u003cp\u003eCreo que hago lo mejor que puedo para contribuir a iniciativas como rOpenSciporque aquí he encontrado mi lugar y he descubierto a otros que tienen el deseode aprender muchas cosas diferentes. Mi contribución actual es hacer que los datos,las herramientas y las mejores prácticas sean más descubribles, contribuyendo almismo tiempo a la infraestructura social.\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eRedatam es un software muy utilizado para la difusión de censos depoblación. Aunque su uso es gratuito, utiliza un formato cerrado.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003ePara el periodo de junio de 2018 a diciembre de 2019, el Censo estabadisponible en formatos \u003ca href=\"https://www.ine.cl/prensa/2019/09/16/ine-pone-a-disposici%C3%B3n-la-base-de-microdatos-del-censo-2017\"\u003eDVD\u003c/a\u003ey en REDATAM únicamente. Ahora está disponible \u003ca href=\"https://www.ine.cl/estadisticas/sociales/censos-de-poblacion-y-vivienda/poblacion-y-vivienda\"\u003eenlínea\u003c/a\u003een formatos REDATAM, SPSS y CSV.\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:3\"\u003e\u003cp\u003ePara el caso de Chile, la división más agregada de la actividad económicasepara la producción en doce ramas: Agricultura y pesca; minería; industriamanufacturera; electricidad, gas y agua; construcción; comercio minorista,hoteles y restaurantes; transporte, comunicaciones e información; serviciosfinancieros; actividades inmobiliarias; servicios empresariales; serviciospersonales; administración pública. Para una descripción más detallada, puedesexplorar la \u003ca href=\"https://si3.bcentral.cl/estadisticas/Principal1/Metodologias/CCNN/cdr/Metodologias.html\"\u003eMatriz Input-Output de la economíachilena\u003c/a\u003ey/o el paquete leontief para el análisis sectorial.\u0026#160;\u003ca href=\"#fnref:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:4\"\u003e\u003cp\u003eDesde el punto de vista metodológico, es más fácil contar a las personasde 64 años o más (la edad legal para ser considerado anciano), que contar a losjubilados, ya que algunos sectores permiten jubilarse más tarde y otros no, y ladecisión se deja al acuerdo entre el trabajador y la empresa.\u0026#160;\u003ca href=\"#fnref:4\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2021/07/27/censo2017-es/","date_published":"2021-07-27T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/yscyn-6eb34","title":"Cómo precomputar viñetas de paquetes o artículos pkgdown","language":"es","authors":[{"name":"Eric Scott","url":"https://orcid.org/0000-0002-7430-7879","avatar":"https://github.com/Aariq.png","_role":["editor"]},{"name":"Jeroen Ooms","url":"https://orcid.org/0000-0002-4035-0289","avatar":"https://ropensci.org/img/team/jeroen_ooms.jpg","_role":["author"]},{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]}],"tags":["docs","paquetes","notas técnicas","r-universe"],"content_html":"\u003cp\u003eDesde principios de este año \u003ca href=\"/technotes/2019/06/07/ropensci-docs/\"\u003econstruimos automáticamente\u003c/a\u003e binarios y documentación pkgdown para \u003ca href=\"https://docs.ropensci.org\"\u003etodos los paquetes de rOpenSci\u003c/a\u003e. Pero un problema que hemos encontrado es que algunos paquetes incluyen viñetas que requieren algunas herramientas/datos/credenciales especiales, que no están disponibles en los servidores de compilación genéricos.\u003c/p\u003e\u003cp\u003eEste post explica cómo incluir esas viñetas y artículos en tu paquete.\u003c/p\u003e\u003ch2 id=\"sobre-las-viñetas-del-paquete\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#sobre-las-vi%c3%b1etas-del-paquete\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eSobre las viñetas del paquete\u003c/h2\u003e\u003cp\u003ePor defecto, R recrea automáticamente las viñetas durante \u003ccode\u003eR CMD check\u003c/code\u003e o al generar sitios pkgdown ejecutando todo el código de R. Esto es útil porque proporciona algunas pruebas adicionales de tu código y garantiza que la documentación sea reproducible. Sin embargo, a veces no es buena idea ejecutar el código en cada servidor de compilación cada vez. Por ejemplo:\u003c/p\u003e\u003cul\u003e\u003cli\u003eLos ejemplos de viñetas requieren algún software local especial o datos privados.\u003c/li\u003e\u003cli\u003eEl código se conecta a un servicio web que requiere autenticación o tiene límites.\u003c/li\u003e\u003cli\u003eNo quieres machacar a los servicios web por cada comprobación de CMD.\u003c/li\u003e\u003cli\u003eEl código de la viñeta tarda mucho en ejecutarse.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEn estos casos es mejor ejecutar el código rmarkdown localmente, y enviar una viñeta en el paquete que ya contenga la salida de R renderizada.\u003c/p\u003e\u003ch2 id=\"la-solución-ejecutar-localmente-rmarkdown\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-soluci%c3%b3n-ejecutar-localmente-rmarkdown\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa solución: ejecutar localmente rmarkdown\u003c/h2\u003e\u003cp\u003eImagina que tienes una viñeta llamada \u003ccode\u003elongexample.Rmd\u003c/code\u003e. Para precomputar la viñeta, cambia el nombre del archivo de entrada por algo que R no reconozca como rmarkdown, por ejemplo \u003ccode\u003elongexample.Rmd.orig\u003c/code\u003e. A continuación, ejecuta knitr en el directorio del paquete para ejecutar y sustituir el código R en el rmarkdown:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e# Execute the code from the vignette\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003eknitr\u003c/span\u003e\u003cspan class=\"o\"\u003e::\u003c/span\u003e\u003cspan class=\"nf\"\u003eknit\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"s\"\u003e\u0026#34;vignettes/longexample.Rmd.orig\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eoutput\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;vignettes/longexample.Rmd\u0026#34;\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eEl nuevo archivo de salida \u003ccode\u003elongexample.Rmd\u003c/code\u003e contiene ahora markdown con la salida de R ya ejecutada. Así que puede tratarse como una viñeta normal, pero R puede convertirla a html instantáneamente sin tener que volver a ejecutar código R desde el rmarkdown.\u003c/p\u003e\u003cp\u003eEn el \u003ca href=\"https://github.com/jeroen/jsonlite/tree/v1.6/vignettes\"\u003epaquete jsonlite\u003c/a\u003e se muestra un ejemplo del mundo real. En este caso he precomputado viñetas que acceden a APIs web para evitar que los servicios se machaquen (y potencialmente baneen los servidores de comprobación).\u003c/p\u003e\u003ch2 id=\"guardar-las-cifras-de-las-viñetas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#guardar-las-cifras-de-las-vi%c3%b1etas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eGuardar las cifras de las viñetas\u003c/h2\u003e\u003cp\u003eUn inconveniente de este truco es que si el resultado de la viñeta incluye figuras, tienes que guardar las imágenes en la carpeta de viñetas. También es una buena idea nombrar explícitamente tus trozos knitr de rmarkdown, para que las imágenes tengan nombres de archivos sensatos.\u003c/p\u003e\u003cp\u003eNuestro paquete recientemente incorporado \u003ca href=\"https://github.com/ropensci/eia/blob/95cd1e10ebda4143fd4fe24cf5836b10fa757a31/vignettes/precompile.R\"\u003eeia\u003c/a\u003e de Matt Leonawicz es un buen ejemplo. Este paquete proporciona un cliente R para la API de Datos Abiertos de la Administración de Información Energética de EEUU. La página de \u003ca href=\"https://docs.ropensci.org/eia/articles/\"\u003edocumentación de eia\u003c/a\u003e se genera automáticamente para cada confirmación del \u003ca href=\"https://ropensci.org/technotes/2019/06/07/ropensci-docs/\"\u003eservidor de documentación de rOpenSci\u003c/a\u003e aunque el código de las viñetas requieran en realidad una clave API (que el servidor de documentos no tiene).\u003c/p\u003e\u003cfigure\u003e\u003ca href=\"https://docs.ropensci.org/ei\"\u003e\u003cimg src=\"/blog/2019/12/08/precompute-vignettes/W5NDdOA.png\"\t\t\talt=\"captura de pantalla\"\u003e\u003c/a\u003e\u003c/figure\u003e\u003cp\u003eEl sitio \u003ca href=\"https://github.com/ropensci/eia/blob/95cd1e10ebda4143fd4fe24cf5836b10fa757a31/vignettes/precompile.R\"\u003edirectorio de viñetas eia\u003c/a\u003e contiene las \u003ccode\u003eRmd.orig\u003c/code\u003e archivos de entrada y los \u003ccode\u003e.Rmd\u003c/code\u003e calculados previamente por el autor del paquete. Ten en cuenta también que el directorio de viñetas contiene un práctico script \u003ca href=\"https://github.com/ropensci/jstor/blob/de60013deed4a129617a9ead25a642145c2190a6/vignettes/precompile.R\"\u003eprecompilar.R\u003c/a\u003e que facilita al autor del paquete la actualización local de las viñetas de salida.\u003c/p\u003e\u003cp\u003eTambién podrías guionizar el movimiento de las figuras de la viñeta al lugar correcto como el \u003ccode\u003ejstor\u003c/code\u003e paquete con su \u003ca href=\"https://github.com/ropensci/jstor/blob/de60013deed4a129617a9ead25a642145c2190a6/vignettes/precompile.R\"\u003eprecompilar.R\u003c/a\u003e script.\u003c/p\u003e\u003ch2 id=\"no-olvides-actualizar\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#no-olvides-actualizar\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eNo olvides actualizar\u003c/h2\u003e\u003cp\u003eEl inconveniente de este enfoque es que los documentos ya no se actualizan automáticamente cuando cambia el paquete. Por lo tanto, sólo debes precompilar las viñetas y artículos que sean problemáticos, y tomar nota para volver a redactar la viñeta de vez en cuando, por ejemplo, antes de la publicación de un paquete. Añadir un \u003ca href=\"https://github.com/ropensci/eia/blob/master/vignettes/precompile.R\"\u003eguión\u003c/a\u003e a tus carpetas de viñetas que lo haga ser un recordatorio útil.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2019/12/08/precompute-vignettes/","date_published":"2019-12-08T00:00:00+00:00","date_modified":"2026-04-20T04:34:41-07:00"},{"id":"https://doi.org/10.59350/3dxjb-mww35","title":"Proyectos Unconf18 2: middlechild, defender, ropsec, keybase","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Karthik Ram","url":"https://ropensci.org/es/author/karthik-ram/","avatar":"https://ropensci.org/img/team/karthik-ram.png","_role":["author"]}],"tags":["comunidad","eventos","unconf","unconf18","seguridad"],"content_html":"\u003cp\u003eComo parte de nuestra serie que resume todos los proyectos de la \u003ca href=\"/blog/2018/06/05/unconf18/\"\u003eUnConf de este año\u003c/a\u003e me complace sumergirme en todas las ofertas relacionadas con seguridad de este año. (Serie completa de resúmenes de proyectos: \u003ca href=\"/blog/2018/06/05/unconf_recap_1/\"\u003eresumen 1\u003c/a\u003e, \u003ca href=\"/blog/2018/06/06/unconf18_recap_2/\"\u003eresumen 2\u003c/a\u003e, \u003ca href=\"/blog/2018/06/07/unconf_recap_3/\"\u003eresumen 3\u003c/a\u003e, \u003ca href=\"/blog/2018/06/08/unconf_recap_4/\"\u003eresumen 4\u003c/a\u003e.) En el espíritu de exploración y experimentación de las desconferencias de rOpenSci, estos proyectos no son necesariamente productos acabados o en el ámbito de los paquetes de rOpenSci.\u003c/p\u003e\u003ch3 id=\"middlechild\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#middlechild\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ccode\u003emiddlechild\u003c/code\u003e\u003c/h3\u003e\u003cp\u003e\u003cimg src=\"/img/blog-images/2018-06-06-unconf18_recap_2/middle_child_hex.png\" alt=\"logotipo de middlechild\"\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eResumen:\u003c/strong\u003e Este paquete proporciona una interfaz de R para el proxy Man-in-the-middle (MITM) y permite a los usuarios de R interceptar, modificar y observar el tráfico de red. El paquete proporciona funciones para descargar, instalar, configurar y ejecutar \u003ccode\u003emitmproxy\u003c/code\u003e. Además de ayudar a probar paquetes API e identificar llamadas peligrosas, los usuarios de R también pueden dirigir el tráfico de su navegador a través de un puerto específico y capturar todo el tráfico de red en R.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEquipo:\u003c/strong\u003e \u003ca href=\"https://github.com/czeildi\"\u003eIldiko Czeller\u003c/a\u003e, \u003ca href=\"https://github.com/karthik\"\u003eKarthik Ram\u003c/a\u003e, \u003ca href=\"https://github.com/hrbrmstr\"\u003eBob Rudis\u003c/a\u003e, \u003ca href=\"https://github.com/karawoo\"\u003eKara Woo\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eGitHub:\u003c/strong\u003e \u003ca href=\"https://github.com/ropenscilabs/middlechild\"\u003ehttps://github.com/ropenscilabs/middlechild\u003c/a\u003e\u003c/p\u003e\u003ch3 id=\"defender\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#defender\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ccode\u003edefender\u003c/code\u003e\u003c/h3\u003e\u003cp\u003e\u003cstrong\u003eResumen:\u003c/strong\u003e La \u003ccode\u003edefender\u003c/code\u003e realiza un análisis estático del código de R y busca posibles vulnerabilidades de seguridad. Se puede usar sin instalar el paquete y se realiza una inspección más exhaustiva (aunque algo peligrosa) dentro de un contenedor Docker. El paquete no indica necesariamente a los usuarios si un fragmento de código es dañino, sino que señala cualquier cosa que justifique un examen más detenido.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEquipo:\u003c/strong\u003e \u003ca href=\"https://github.com/czeildi\"\u003eIldiko Czeller\u003c/a\u003e, \u003ca href=\"https://github.com/karthik\"\u003eKarthik Ram\u003c/a\u003e, \u003ca href=\"https://github.com/hrbrmstr\"\u003eBob Rudis\u003c/a\u003e, \u003ca href=\"https://github.com/karawoo\"\u003eKara Woo\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eGitHub:\u003c/strong\u003e \u003ca href=\"https://github.com/ropenscilabs/defender\"\u003ehttps://github.com/ropenscilabs/defender\u003c/a\u003e\u003c/p\u003e\u003ch3 id=\"ropsec\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ropsec\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ccode\u003eropsec\u003c/code\u003e\u003c/h3\u003e\u003cp\u003e\u003cstrong\u003eResumen:\u003c/strong\u003e Este paquete permite a los usuarios ejecutar toda una serie de comprobaciones de auditoría en su sistema local y genera un informe sobre las vulnerabilidades y las protecciones activadas.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEquipo:\u003c/strong\u003e \u003ca href=\"https://github.com/czeildi\"\u003eIldiko Czeller\u003c/a\u003e, \u003ca href=\"https://github.com/karthik\"\u003eKarthik Ram\u003c/a\u003e, \u003ca href=\"https://github.com/hrbrmstr\"\u003eBob Rudis\u003c/a\u003e, \u003ca href=\"https://github.com/karawoo\"\u003eKara Woo\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eGitHub:\u003c/strong\u003e \u003ca href=\"https://github.com/ropenscilabs/ropsec\"\u003ehttps://github.com/ropenscilabs/ropsec\u003c/a\u003e\u003c/p\u003e\u003ch3 id=\"keybase\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#keybase\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ccode\u003ekeybase\u003c/code\u003e\u003c/h3\u003e\u003cp\u003e\u003cstrong\u003eResumen:\u003c/strong\u003e Este paquete proporciona una fina envoltura alrededor de la API de keybase que permite a los usuarios llamar a funciones de línea de comandos desde R. Además de permitir a los usuarios cifrar y descifrar archivos, el paquete permite a los nuevos usuarios generar fácilmente claves y firmar sus commits de Github.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEquipo:\u003c/strong\u003e \u003ca href=\"https://github.com/czeildi\"\u003eIldiko Czeller\u003c/a\u003e, \u003ca href=\"https://github.com/karthik\"\u003eKarthik Ram\u003c/a\u003e, \u003ca href=\"https://github.com/hrbrmstr\"\u003eBob Rudis\u003c/a\u003e, \u003ca href=\"https://github.com/karawoo\"\u003eKara Woo\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eGitHub:\u003c/strong\u003e  \u003ca href=\"https://github.com/ropenscilabs/keybase\"\u003ehttps://github.com/ropenscilabs/keybase\u003c/a\u003e\u003c/p\u003e\u003cp\u003e¡Busca mañana el próximo post con proyectos de unconf18!\u003c/p\u003e","url":"https://ropensci.org/es/blog/2018/06/06/unconf18_recap_2/","date_published":"2018-06-06T00:00:00+00:00","date_modified":"2025-06-20T11:58:55-03:00"},{"id":"https://doi.org/10.59350/68k6q-0ap17","title":"Agradeciendo a tus revisores y revisoras: la gratitud a través de los metadatos semánticos","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Karthik Ram","url":"https://ropensci.org/es/author/karthik-ram/","avatar":"https://ropensci.org/img/team/karthik-ram.png","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]},{"name":"Scott Chamberlain","url":"https://ropensci.org/es/author/scott-chamberlain/","avatar":"https://ropensci.org/img/team/scott.jpg","_role":["author"]}],"tags":["comunidad","Revisión de Software","metadatos"],"content_html":"\u003cp\u003eEn rOpenSci, nuestro \u003ca href=\"/blog/2017/09/01/nf-softwarereview/\"\u003eproceso de revisión por pares de paquetes R\u003c/a\u003e se basa en el duro trabajo de muchos revisores voluntarios. Estos miembros de la comunidad donan su \u003ca href=\"/blog/2016/03/28/software-review/#review-takes-a-lot-of-time\"\u003etiempo\u003c/a\u003e y su experiencia para mejorar la calidad de los paquetes de rOpenSci y ayudar a introducir las mejores prácticas en el software científico.\u003c/p\u003e\u003cp\u003eNuestro proceso de revisión \u003cem\u003eabierto\u003c/em\u003e, en el que las revisiones y los revisores son públicos, significa que uno de los beneficios para las personas que revisan es que pueden obtener reconocimiento por sus revisiones. Queremos que los revisores obtengan el mayor beneficio posible, y que sus contribuciones queden registradas como parte del intelecto académico, por lo que hemos estado trabajando para que las revisiones sean visibles y detectables.\u003c/p\u003e\u003cp\u003ePor eso estamos muy entusiasmados por el pequeño cambio en la versión de ayer de R 3.4.4.\u003c/p\u003e\u003cp\u003eSi estás utilizando R 3.4.3 y escribes \u003ccode\u003eutils:::MARC_relator_db_codes_used_with_R\u003c/code\u003e en la consola, obtendrás lo siguiente:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"n\"\u003eutils\u003c/span\u003e\u003cspan class=\"o\"\u003e:::\u003c/span\u003e\u003cspan class=\"n\"\u003eMARC_relator_db_codes_used_with_R\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"n\"\u003e[1]\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;aut\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;com\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ctr\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ctb\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;cph\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;cre\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;dtc\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;fnd\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ths\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;trl\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eCon la versión 3.4.4, obtendrás esto:\u003c/p\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-r\" data-lang=\"r\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"n\"\u003eutils\u003c/span\u003e\u003cspan class=\"o\"\u003e:::\u003c/span\u003e\u003cspan class=\"n\"\u003eMARC_relator_db_codes_used_with_R\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e \u003cspan class=\"n\"\u003e[1]\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;aut\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;com\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ctr\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ctb\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;cph\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;cre\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;dtc\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;fnd\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;rev\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;ths\u0026#34;\u003c/span\u003e \u003cspan class=\"s\"\u003e\u0026#34;trl\u0026#34;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e¿Qué es ese pequeño \u003ccode\u003e\u0026quot;rev\u0026quot;\u003c/code\u003e que aparece noveno? ¡Es la inclusión oficial de \u0026ldquo;Revisor\u0026rdquo; como función de autor del paquete R!\u003c/p\u003e\u003cp\u003eEstos códigos de tres letras proceden del \u003ca href=\"https://en.wikipedia.org/wiki/MARC_standards\"\u003etérminos MARC (Catalogación legible por máquina)\u003c/a\u003e un conjunto estándar de tipos de autoría creado originalmente para algunos de los primeros sistemas informatizados de bibliotecas. R utiliza estos códigos para distinguir entre distintos tipos de autores de paquetes. Puede que estés familiarizado con algunos de estos términos que aparecen en \u003ccode\u003eDESCRIPTION\u003c/code\u003e por ejemplo.\u003c/p\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eAuthors@R: person(\u0026#34;Scott\u0026#34;, \u0026#34;Chamberlain\u0026#34;, role = c(\u0026#34;aut\u0026#34;, \u0026#34;cre\u0026#34;),        comment = c(ORCID = \u0026#34;0000-0003-1444-9135\u0026#34;))\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eAquí \u003ccode\u003eaut\u003c/code\u003e y \u003ccode\u003ecre\u003c/code\u003e significan \u0026ldquo;Autor\u0026rdquo; y \u0026ldquo;Creador\u0026rdquo;, indicando que Scott es el creador original y principal de un paquete. También habrás visto \u003ccode\u003ectb\u003c/code\u003e (Colaborador) o \u003ccode\u003ecph\u003c/code\u003e (Titular de los derechos de autor \u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e ).\u003c/p\u003e\u003cp\u003eLos descriptores estándar como éste son importantes porque permiten que la información sobre la autoría sea legible por una máquina y que se catalogue y transfiera el crédito del trabajo de los autores. Cuando los metadatos sobre los paquetes de R se muestran en los archivos de ayuda o en los sitios web, queda claro el papel que ha desempeñado cada uno. Estos metadatos también son fundamentales para \u003ca href=\"https://openresearchsoftware.metajnl.com/articles/10.5334/jors.be/\"\u003ecrédito transitivo\u003c/a\u003e la importante tarea de seguir las contribuciones a través de cadenas de dependencias para proporcionar un reconocimiento a los desarrolladores de software y a los proveedores de datos que el sistema tradicional de citas a menudo pasa por alto.\u003c/p\u003e\u003cp\u003eAunque hay muchos más \u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e términos de relator MARC, R sólo permite un pequeño conjunto que tienen sentido en el contexto de los paquetes de software. Éstos se encuentran en\u003ccode\u003eutils:::MARC_relator_db_codes_used_with_R\u003c/code\u003e. Los códigos que queden fuera de este conjunto no pasarán la comprobación CMD de R y no estarán permitidos en CRAN.\u003c/p\u003e\u003cp\u003eCreemos que los revisores contribuyen de forma importante a la calidad del software publicado. Por eso el año pasado pedimos a R-Core que añadiera \u003ccode\u003e\u0026quot;rev\u0026quot;\u003c/code\u003e (Revisor), a la lista de tipos de colaboradores permitidos. Y he aquí que Kurt Hornik hizo el \u003ca href=\"https://github.com/wch/r-source/blame/cb9b0506cced030613e06fb92799a1d1807bc257/src/library/utils/R/sysdata.R#L37\"\u003ecambio\u003c/a\u003e en nuestro nombre \u003csup id=\"fnref:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e . Ya está en la versión de lanzamiento de R.\u003c/p\u003e\u003cp\u003eDado que CRAN utiliza la versión de desarrollo de R para comprobar y diseñar paquetes, la opción ha estado realmente disponible en CRAN durante un tiempo. Un grupo de autores ya ha estado avisando a los revisores de esta forma en sus \u003ca href=\"https://github.com/search?utf8=%E2%9C%93\u0026amp;q=user%3Acran+filename%3ADESCRIPTION+person+role+rev+ropensci\u0026amp;type=Code\"\u003earchivos DESCRIPTION del paquete\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eEsperamos ver la inclusión de los agradecimientos de los revisores en los metadatos de software más allá de rOpenSci. Pueden adoptarlo los autores que envían a \u003ca href=\"https://www.jstatsoft.org/\"\u003eJSS\u003c/a\u003e, \u003ca href=\"https://joss.theoj.org/\"\u003eJOSS\u003c/a\u003e o cualquier revista o proceso en el que los revisores hagan comentarios significativos sobre el código o la documentación del software.  Para el software no R, estamos \u003ca href=\"https://github.com/codemeta/codemeta/issues/177\"\u003etrabajando en\u003c/a\u003e incluir a los revisores en \u003ca href=\"https://codemeta.github.io/\"\u003ecodemeta\u003c/a\u003e una norma de metadatos de software multilingüe.\u003c/p\u003e\u003cp\u003eAlgunas notas sobre cómo este desarrollo se relaciona específicamente con el proceso de revisión por pares de rOpenSci:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003eEn primer lugar, es 100% decisión de los autores del paquete decidir si los revisores hicieron una contribución suficiente para ser incluidos en \u003ccode\u003eAuthors\u003c/code\u003e de esta forma. Aunque promovemos esta opción \u003cem\u003een general\u003c/em\u003e nunca pediremos a un autor que incluya específicamente a un revisor. Al igual que la sección de agradecimientos de un manuscrito, la sección \u003ccode\u003eAuthor\u003c/code\u003e está bajo el control de los desarrolladores. También depende de los revisores si \u003cem\u003equieren\u003c/em\u003e que se incluya, por lo que los autores de paquetes deben preguntar primero a los revisores.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eEn segundo lugar, los editores de rOpenSci deben \u003cem\u003eno\u003c/em\u003e figurar en \u003ccode\u003eAuthors\u003c/code\u003e. \u003ccode\u003e\u0026quot;edt\u0026quot;\u003c/code\u003e (Editor) no es una función de autoría R válida, y estamos demasiado lejos para que se nos incluya. Pero nos sentimos halagados por quienes nos lo han pedido.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003ePor último, si incluyes a los revisores de este modo, creemos que lo mejor seria incluir información que se enlace de nuevo a la revisión, de este modo:\u003c/p\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eperson(\u0026#34;Bea\u0026#34;, \u0026#34;Hernández\u0026#34;, role = \u0026#34;rev\u0026#34;,       comment = \u0026#34;Bea reviewed the package for rOpenSci, see                   https://github.com/ropensci/software-review/issues/116\u0026#34;)\u003c/code\u003e\u003c/pre\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEstamos muy entusiasmados con este desarrollo y con cómo puede mejorar los incentivos para la revisión por pares. Gracias a R-core por subirse a bordo con esto, ¡y a los primeros usuarios que lo probaron!\u003c/p\u003e\u003cp\u003eAtentamente,\u003c/p\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003ec(    person(\u0026#34;Noam\u0026#34;, \u0026#34;Ross\u0026#34;, role = c(\u0026#34;aut\u0026#34;, \u0026#34;cre\u0026#34;, \u0026#34;lbt\u0026#34;)),    person(\u0026#34;Maëlle\u0026#34;, \u0026#34;Salmon\u0026#34;, role = c(\u0026#34;rev\u0026#34;, \u0026#34;med\u0026#34;),           comment = \u0026#34;Comments to improve structure of the introduction\u0026#34;)    person(\u0026#34;Karthik\u0026#34;, \u0026#34;Ram\u0026#34;, role = c(\u0026#34;rev\u0026#34;, \u0026#34;elt\u0026#34;),         comment = \u0026#34;Fixed a small typo\u0026#34;),    person(\u0026#34;Scott\u0026#34;, \u0026#34;Chamberlain\u0026#34;, role = c(\u0026#34;rev\u0026#34;, \u0026#34;sce\u0026#34;),           comment = \u0026#34;Agrees with Maëlle about the intro.\u0026#34;)  )\u003c/code\u003e\u003c/pre\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eNo puedo terminar este post sin mencionar que \u003cem\u003eSu Majestad la Reina por Derecho de Canadá, representada por el Ministro de Recursos Naturales de Canadá\u003c/em\u003e es \u003ccode\u003ecph\u003c/code\u003e en \u003ca href=\"https://github.com/search?utf8=%E2%9C%93\u0026amp;q=org%3Acran+Her+Majesty+the+Queen+in+Right+of+Canada%2C+as+represented+by+the+Minister+of+Natural+Resources+Canada+filename%3ADESCRIPTION\u0026amp;type=Code\"\u003eocho paquetes CRAN\u003c/a\u003e.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eEncontrado\u003ca href=\"https://www.loc.gov/marc/relators/relaterm.html\"\u003eaquí\u003c/a\u003e o como un práctico marco de datos con descripciones en \u003ccode\u003eutils:::MARC_relator_db\u003c/code\u003e\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:3\"\u003e\u003cp\u003eTambién se ha añadido el núcleo R\u003ccode\u003e\u0026quot;fnd\u0026quot;\u003c/code\u003e (Financiador) en R 3.4.3.\u0026#160;\u003ca href=\"#fnref:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2018/03/16/thanking-reviewers-in-metadata/","date_published":"2018-03-16T00:00:00+00:00","date_modified":"2025-05-16T11:26:10-03:00"},{"id":"https://doi.org/10.59350/66z2j-12h31","title":"Experiencias revisando paquetes de rOpenSci por primera vez","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Verena Haunschmid","url":"https://ropensci.org/es/author/verena-haunschmid/","avatar":"https://api.dicebear.com/7.x/identicon/svg?seed=0783b18ebbfb6a083c7e35463dda8f3e&amp;rowColor=276dcc&amp;size=50","_role":["author"]}],"tags":["software","Revisión de Software","revisores"],"content_html":"\u003cp\u003eTodo empezó el 26 de enero\u003csup\u003eth\u003c/sup\u003e de este año, cuando me ofrecí como voluntariapara revisar paquetes de R enviados a rOpenSci. Mi principal motivación paraquerer ser voluntaria era aprender algo nuevo ycontribuir a la comunidad de código abierto de R. Si te preguntas por qué lagente detrás de rOpenSci está haciendo esto, puedes leer \u003ca href=\"https://www.numfocus.org/blog/how-ropensci-uses-code-review-to-promote-reproducible-science/\"\u003eCómo rOpenSci utiliza la revisión de código para promover la ciencia reproducible\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eTres meses después se puso en contacto conmigo \u003ca href=\"https://twitter.com/masalmon\"\u003eMaëlle Salmon\u003c/a\u003e preguntándome si estaba interesada enrevisar un paquete de R \u003ca href=\"https://github.com/ropensci/patentsview\"\u003e\u003ccode\u003epatentsview\u003c/code\u003e\u003c/a\u003e para rOpenSci. Y sí, ¡yofui! Para ser sincera, estaba un poco emocionada.\u003c/p\u003e\u003cp\u003eLos paquetes se envían para su revisión a rOpenSci a través de una publicación en su sitio web.El repositorio de GitHub y las revisiones también se realizan allí. Así que puedes consultar\u003ca href=\"https://github.com/ropensci/software-review/issues\"\u003etodos los envíos de paquetes y revisiones anteriores\u003c/a\u003e.Con toda la informaciónde rOpenSci y también la ayuda del editor es sencillohacer la revisión del paquete. Antes de empezar leí laguía del revisor (enlaces más abajo) y comprobé algunas de lasrevisiones existentes. Instalé el paquete \u003ccode\u003epatentsview\u003c/code\u003e de GitHub y tambiéndescargué el código fuente para comprobar cómo estaba implementado.\u003c/p\u003e\u003cp\u003eEmpecé probando la funcionalidad básica del paqueteejecutando los ejemplos que se mencionaban en el README delpaquete. Creo que es un buenpunto de partida porque te haces una idea de lo que el autor quiereconseguir con el paquete. Más tarde se me ocurrieron mispropias consultas (nota al margen: este paquete de R interactúa con una API desde la quepuedes consultar patentes). Durante el proceso solía cambiar entreescribir consultas como un usuario normal del paquetey comprobar el código. Cuando veía algo en el código queno me quedaba claro o me parecía incorrecto, volvía a escribir nuevasconsultas para comprobar si el comportamiento de los métodos era el esperado.\u003c/p\u003e\u003cp\u003eCon este enfoque pude dar mi opinión al autor del paquetelo que llevó a la inclusión de una prueba unitaria adicional, una función de ayudaque facilitara el uso del paquete, la aclaración de un mensaje de errory una documentación mejorada. Puedes encontrar la revisión que hice \u003ca href=\"https://github.com/ropensci/software-review/issues/112#issuecomment-303462505\"\u003eaquí\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eHay varios paquetes de R que me ayudaron a empezar con mi revisión,por ejemplo: \u003ca href=\"https://github.com/hadley/devtools\"\u003e\u003ccode\u003edevtools\u003c/code\u003e\u003c/a\u003e y\u003ca href=\"https://github.com/MangoTheCat/goodpractice\"\u003e\u003ccode\u003egoodpractice\u003c/code\u003e\u003c/a\u003e. Estospaquetes también pueden ayudarte cuando empieces a escribir tus propios paquetes. Unejemplo de método muy útil es \u003ccode\u003edevtools::spell_check()\u003c/code\u003e querealiza una revisión ortográfica de la descripción del paquete y de las páginas del manual.Al principio tuve un problema con \u003ccode\u003egoodpractice::gp()\u003c/code\u003e pero Maëlle Salmon(la editora) me ayudó a resolverlo.\u003c/p\u003e\u003cp\u003eEn el resto de este artículo puedes leer lo que gané personalmente haciendo unrevisión.\u003c/p\u003e\u003ch3 id=\"contribuir-a-la-comunidad-del-código-abierto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#contribuir-a-la-comunidad-del-c%c3%b3digo-abierto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eContribuir a la comunidad del código abierto\u003c/h3\u003e\u003cp\u003eCuando la gente piensa en contribuir a la comunidad del código abierto, lalo primero que se piensa es en crear un nuevo paquete R o en contribuir a unode los principales paquetes existentes. Pero no todo el mundo tiene los recursos(por ejemplo, tiempo) para hacerlo. Tampoco tienes ideas geniales cada dos por tresque puedan implementarse inmediatamente en nuevos paquetes de R para ser utilizados porla comunidad. Además de contribuir con código, también hay muchasotras cosas que pueden ser útiles para otros usuarios de R, por ejemplo: escribirartículos de blog sobre problemas que has resuelto, hablar en reuniones o revisarcódigo para ayudar a mejorarlo, etc. Lo que más me gusta de revisar código es quela gente ve las cosas de forma diferente y tiene otras experiencias. Como revisor,ves un paquete nuevo desde la perspectiva del usuario, lo que puede ser difícil parael propio programador. Tener a otra persona querevise tu código ayuda a encontrar cosas que faltan porque parecenobvias para el autor del paquete o detectar fragmentos de código que requieren máspruebas. Tuve una gran sensación cuando terminé la revisión, ya que habíaayudado a mejorar un paquete de R que ya era increíble.\u003c/p\u003e\u003ch3 id=\"revisar-ayuda-a-mejorar-tu-propio-estilo-de-codificación\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#revisar-ayuda-a-mejorar-tu-propio-estilo-de-codificaci%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eRevisar ayuda a mejorar tu propio estilo de codificación\u003c/h3\u003e\u003cp\u003eCuando escribo código en R suelo intentar hacerlo de la mejor manera posible.\u003ca href=\"https://google.github.io/styleguide/Rguide.xml\"\u003eGuía de estilo de R de Google\u003c/a\u003eEs un buen comienzo para acostumbrarse a las buenas prácticas de codificación en R y tambiéndisfruté leyendo \u003ca href=\"https://github.com/timoxley/best-practices\"\u003eConsejos breves sobre buenas prácticas deprogramación\u003c/a\u003e. Normalmentecuando pienso que algún trozo de código puede mejorarse (con respecto a la velocidad,legibilidad o uso de memoria) compruebo en Internet si puedo encontrar unasolución mejor. A menudo simplemente no crees que algo pueda sermejor porque siempre lo has hecho de una determinada manera o la última vezque lo comprobaste no había una solución mejor. Aquí es cuando ayuda seguirel código de otras personas. Yo lo hago leyendo sus blogs, siguiendo personas que usan Ren Twitter y consultando sus cuentas de GitHub. Revisar un programa de Rtambién me ayudó mucho a obtener nuevas ideas porquecomprobaba cada función con mucha más atención que cuando leía entradas de blog.En mi opinión, un buen código no sólo utiliza el mejor paquete para cadaproblema, sino que también los pequeños detalles están bien implementados. Una cosa quesolía hacer mal durante mucho tiempo era rellenar los data.frames hasta queencontré un método mejor (mucho más rápido) en una\u003ca href=\"https://stackoverflow.com/a/29419402\"\u003esolución en stackoverflow\u003c/a\u003e.Y con respecto a estopuedes aprender mucho del código de otra persona. Lo que me pareció realmente genial enel paquete que revisé fue el uso de pequeñas funciones de ayuda (ver\u003ca href=\"https://github.com/ropensci/patentsview/blob/c03e1ab2537873d7a9b76025b0072953efb475c1/R/utils.R\"\u003eutils.R\u003c/a\u003e).Funciones como \u003ccode\u003epaste0_stop\u003c/code\u003e y \u003ccode\u003epaste0_message\u003c/code\u003e hacen que el resto delcódigo sea mucho más fácil de leer.\u003c/p\u003e\u003ch3 id=\"un-buen-comienzo-para-escribir-tus-propios-paquetes\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-buen-comienzo-para-escribir-tus-propios-paquetes\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn buen comienzo para escribir tus propios paquetes\u003c/h3\u003e\u003cp\u003eAl revisar un paquete de R, compruebas el código como un observador muy atento.Me di cuenta de muchas cosas que normalmente no te importan cuando utilizasun paquete de R, como los comentarios, la utilidad de la documentación y losejemplos, y también lo bien que cubren el código las pruebas unitarias. Creo querevisar unos cuantos paquetes buenos puede prepararte muy bien para escribir tuspropios paquetes.\u003c/p\u003e\u003ch3 id=\"quieres-contribuir-tú-mismo-a-ropensci\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#quieres-contribuir-t%c3%ba-mismo-a-ropensci\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e¿Quieres contribuir tú mismo a rOpenSci?\u003c/h3\u003e\u003cp\u003eSi te he motivado para convertirte en una persona que revisa para rOpenSci, ¡apúntate! Aquíhay una lista de cosas útiles para participar como revisor o revisora de rOpenScicomo yo.\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"/onboarding/\"\u003eFormulario para inscribirse (sólo lleva un minuto)\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://devguide.ropensci.org/reviewerguide.html\"\u003eInformación para revisores\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003ca href=\"https://mozillascience.github.io/codeReview/review.html\"\u003eGuía de revisión de Mozilla\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003eMientras escribía este \u003cem\u003eblog post\u003c/em\u003e encontré un buen artículo sobre \u003ca href=\"https://www.tidyverse.org/articles/2017/08/contributing/\"\u003econtribuiral tidyverse\u003c/a\u003e queen mi opinión, también es aplicable a otros paquetes de R.\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eSi, en general, te interesa enviar o revisar un paquete de R, me gustaría invitarte a la \u0026ldquo;Conversaciones con la Comunidad\u0026rdquo; \u003ca href=\"/blog/2017/08/31/comm-call-v14\"\u003eConvocatoria para la revisión de software por pares de rOpenSci\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2017/09/08/first-review-experiences/","date_published":"2017-09-08T00:00:00+00:00","date_modified":"2025-05-16T09:25:09-03:00"},{"id":"https://doi.org/10.59350/qyq90-j0670","title":"Cómo rOpenSci utiliza la revisión de código para promover la ciencia reproducible","language":"es","authors":[{"name":"Karthik Ram","url":"https://ropensci.org/es/author/karthik-ram/","avatar":"https://ropensci.org/img/team/karthik-ram.png","_role":["author"]},{"name":"Maëlle Salmon","url":"https://orcid.org/0000-0002-2815-0399","avatar":"https://ropensci.org/img/team/maelle_salmon.jpg","_role":["author"]},{"name":"Noam Ross","url":"https://orcid.org/0000-0002-2136-0000","avatar":"https://ropensci.org/img/team/noam_ross.png","_role":["author"]},{"name":"Scott Chamberlain","url":"https://ropensci.org/es/author/scott-chamberlain/","avatar":"https://ropensci.org/img/team/scott.jpg","_role":["author"]}],"tags":["software","revisión por pares de software","comunidad"],"content_html":"\u003cp\u003eEn rOpenSci, creamos y curamos software para ayudar a quienes hacen ciencia en el ciclo de vida de los datos. Estas herramientas acceden, descargan, gestionan y archivan datos científicos de forma abierta y reproducible. Desde el principio, nos dimos cuenta de que esto sólo podía ser un esfuerzo comunitario. La variedad de datos y flujos de trabajo científicos sólo podía abordarse recurriendo a los aportes de personas con conocimientos específicos en cada campo.\u003c/p\u003e\u003cp\u003eCon el enfoque comunitario llegaron los desafíos. \u003cstrong\u003e¿Cómo podíamos garantizar la calidad del código escrito por personas que hacen ciencia pero sin formación formal en prácticas de desarrollo de software? ¿Cómo podríamos impulsar la adopción de buenas prácticas en nuestra comunidad? ¿Cómo podríamos crear una comunidad que se apoyara mutuamente en este trabajo?\u003c/strong\u003e\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eHemos tenido un gran éxito abordando estos retos a través de la \u003cem\u003erevisión por pares\u003c/em\u003e.\u003c/strong\u003e Tomamos elementos de un proceso familiar para la comunidad en la que nos enfocamos (\u003cem\u003ela revisión por pares académica\u003c/em\u003e) y una práctica del mundo del desarrollo de software (\u003cem\u003erevisión del código en producción\u003c/em\u003e) para crear un sistema que fomente la calidad del software, la formación continua y el desarrollo de la comunidad.\u003c/p\u003e\u003ch2 id=\"un-proceso-de-revisión-abierto\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#un-proceso-de-revisi%c3%b3n-abierto\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eUn proceso de revisión abierto\u003c/h2\u003e\u003cp\u003e\u003cstrong\u003eLa revisión del software en producción\u003c/strong\u003e se lleva a cabo en los equipos de desarrollo de software ya sea de de código abierto o no. Las contribuciones a un proyecto de software son revisadas por uno o más miembros del equipo antes de su incorporación al código fuente del proyecto. Las contribuciones suelen ser pequeños parches, y la revisión sirve para asegurar la calidad, así como una oportunidad para formarse en las normas del equipo.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEn la revisión por pares académica\u003c/strong\u003e personas externas critican un producto completo -normalmente un manuscrito- de forma amplia y con la idea de criticar cualquier aspecto que consideren deficiente. La revisión académica suele ser anónima y pasar por ella da al producto, y la persona que lo produjo, una marca pública de validación.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003erOpenSci combina estos enfoques.\u003c/strong\u003e En nuestro proceso, quienes mantienen paquetes de R los envían a rOpenSci. El equipo de edición comprueban que los paquetes se ajustan al ámbito de nuestro proyecto, ejecutan una serie de pruebas automatizadas que garantizan un mínimo estándar de calidad e integridad del código y a continuación asignan dos personas independientes para revisarlo. Éstas comentan sobre la facilidad de uso, la calidad y el estilo del código del software, así como la documentación. Quien envió el paquete luego realiza cambios en respuesta, y una vez que quienes lo revisaron aprueban las actualizaciones, el paquete recibe una etiqueta de aprobación y se une a nuestra suite de paquetes.\u003c/p\u003e\u003cp\u003eEste proceso es bastante iterativo. Después de una primera ronda de revisiones exhaustivas, quién envió el paquete charla con quienes lo revisaron en intercambio informal, moderado sólo ligeramente por quien se encuentra en el rol editorial. Esto ayuda a todos los individuos involucrados plantearse preguntas mutuamente y explicar las diferencias de opinión, lo cual permite avanzar a un ritmo mucho más rápido que la típica correspondencia de revisión académica. Utilizamos el sistema de \u003cem\u003eissues\u003c/em\u003e de GitHub para esta conversación, y las respuestas tardan de minutos a días, en lugar de semanas a meses.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eEl intercambio también es abierto y público\u003c/strong\u003e. Todas las personas que participan (en roles de autoría, revisión y edición) conocen la identidad del resto y la comunidad en general puede ver o incluso participar en la conversación a medida que se produce. Esto proporciona un incentivo para ser minucioso y proporcionar revisiones constructivas y no conflictivas. Tanto quienes envían un paquete como quienes los revisan afirman que disfrutan y aprenden más de este intercambio abierto y directo. También tiene el beneficio de construir una comunidad, ya que quienes participan tienen la oportunidad de interactuar de manera significativa con nuevas personas. Nuevas colaboraciones han nacido gracias a las ideas surgidas durante el proceso de revisión.\u003c/p\u003e\u003cp\u003eSomos conscientes de que los sistemas abiertos pueden tener inconvenientes. Por ejemplo, en la revisión académica tradicional la revisión por pares doblemente ciega \u003ca href=\"https://www.sciencedirect.com/science/article/pii/S0169534707002704\"\u003epuede aumentar la representación de autoras femeninas\u003c/a\u003e, lo que sugiere un sesgo en las revisiones abiertas. También es posible que quienes hacen la revisión sean menos críticos si la revisión es abierta. Sin embargo, proponemos que la apertura de la conversación de la revisión proporciona un control de la calidad de la revisión y del sesgo; es más difícil hacer comentarios no fundamentados o subjetivos en público sin la seguridad del anonimato. En definitiva, creemos que tener una comunicación directa y pública entre las personas que desarrollaron el paquete y quienes lo revisan mejora la calidad y la imparcialidad de las revisiones.\u003c/p\u003e\u003ch2 id=\"orientaciones-y-estándares\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#orientaciones-y-est%c3%a1ndares\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eOrientaciones y estándares\u003c/h2\u003e\u003cp\u003e\u003cstrong\u003erOpenSci proporciona orientación sobre la revisión.\u003c/strong\u003e Esto se divide en dos categorías principales: \u003cstrong\u003ebuenas prácticas generales\u003c/strong\u003e y \u003cstrong\u003eestándares específicos\u003c/strong\u003e. Las buenas prácticas son generales y ampliamente aplicables a todos los lenguajes y aplicaciones. Son prácticas como \u0026ldquo;Escribe funciones reutilizables en lugar de repetir el mismo código\u0026rdquo;, \u0026ldquo;Prueba los casos extremos\u0026rdquo; o \u0026ldquo;Escribe documentación para todas tus funciones\u0026rdquo;. Debido a su naturaleza general, pueden extraerse de otras fuentes y no desarrollarse desde cero. Nuestras buenas prácticas se basan en recomendaciones desarrolladas originalmente por el \u003ca href=\"https://mozillascience.github.io/codeReview/intro.html\"\u003e\u003cem\u003eMozilla Science Lab\u003c/em\u003e\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eLos estándares específicos son aplicables lenguajes (en nuestro caso, R), aplicaciones (interfaces de datos) y base de usuarios (personas que hacen ciencia) particulares. Incluyen elementos específicos como las convenciones para nombrar las funciones, las mejores opciones de dependencias para determinadas tareas y el seguimiento de una guía de estilo de código. Disponemos de un amplio conjunto de estándares que quienes revisan paquetes pueden aplicar. Éstos cambian con el tiempo a medida que el ecosistema del software R evoluciona, las buenas prácticas cambian, y las herramientas y los recursos educativos hacen disponibles nuevos métodos para el desarrollo de software.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eNuestros estándares también cambian en función de las revisiones de paquetes.\u003c/strong\u003e Adoptamos nuevos estándares en base a las sugerencias que surgen en múltiples revisiones de distintos paquetes. Muchas de ellas, hemos descubierto, tienen que ver con la facilidad de uso y la coherencia de las API de software, y con el tipo y la ubicación de la información en la documentación para que sea más fácil de encontrar. Esto destaca una de las ventajas de las revisiones externas: permiten aportar una nueva perspectiva sobre la usabilidad, así como probar el software en casos de uso distintos de los imaginados por quien lo desarrolló.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eA medida que nuestros estándares se han ido ampliando, hemos llegado a confiar más en las herramientas automatizadas.\u003c/strong\u003e El ecosistema de R, como la mayoría de los lenguajes, dispone de un conjunto de herramientas para la limpieza de código, la comprobación de funciones, el análisis estático de código y la integración continua. Exigimos su utilización, y los envíos son sometidos a un conjunto de tests antes de ser enviados a revisión por el equipo de edición. Esto permite que las revisiones no se ocupen de cuestiones de bajo nivel y en vez de eso estén centradas en críticas de alto nivel, donde pueden aportar el máximo valor.\u003c/p\u003e\u003ch2 id=\"la-comunidad-de-revisión\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#la-comunidad-de-revisi%c3%b3n\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eLa comunidad de revisión\u003c/h2\u003e\u003cp\u003eUno de los principales desafíos y recompensas de nuestro trabajo ha sido desarrollar una comunidad de revisión.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eRevisar es una actividad que requiere muchas habilidades.\u003c/strong\u003e Para revisar un paquete es necesario tener conocimientos sobre los métodos de programación utilizados en un paquete de software y también sobre el campo científico de su aplicación. (\u0026quot;¡Encuentra a alguien que sepa de ecología sensorial y estructuras de datos dispersas!\u0026quot;). También requiere buenas habilidades comunicacionales, y tiempo y ganas para voluntariarse. Afortunadamente, los mundos de la ciencia y el código abiertos están llenos de gente generosa y experta. Hemos podido ampliar nuestro grupo de revisión a medida que crecía el ritmo de envíos y los ámbitos de sus solicitudes.\u003c/p\u003e\u003cp\u003eDesarrollar el grupo de revisión requiere un reclutamiento constante. Nuestro equipo de edición mantiene un contacto activo y amplio con las comunidades de desarrollo de software y de investigación para encontrar nuevas personas que puedan revisar paquetes. Reclutamos entre quienes enviaron paquetes previamente, colegas, en conferencias, a través de nuestros otros trabajos colaborativos y en las redes sociales. En el ecosistema del software de código abierto, a menudo se puede identificar individuos con una experiencia particular mirando su software publicado o su contribución a otros proyectos, y a menudo enviamos correos electrónicos en frío invitando a personas cuyo trabajo publicado sugiere que serían idóneas para revisar un envío.\u003c/p\u003e\u003cp\u003eCultivamos nuestro grupo de revisión y lo ampliamos. Invitamos a las mismas personas a revisar varias veces  para que puedan desarrollar la habilidad de evaluar envíos, pero no tan a menudo como para sobrecargar sus agendas. Proporcionamos orientación y devolución a quienes revisan por primera vez. Cuando asignamos personas para la revisión de un envío, intentamos emparejar a alguien con experiencia con alguien que recién comienza a revisar, o a alguien con experiencia en desarrollo de paquetes con alguien con experiencia en el campo de aplicación particular. \u003cstrong\u003eDe esta manera el aprendizaje fluye entre ambas personas, y la diversidad de perspectivas es una ventaja\u003c/strong\u003e. Individuos con menos experiencia en desarrollo suelen aportar mejores ideas sobre usabilidad del software, el diseño de la API y la documentación. Los más experimentados más a menudo identifican ineficiencias en el código, problemas debidos a casos especiales, o sugerirán enfoques de implementación alternativos.\u003c/p\u003e\u003ch2 id=\"ampliar-la-revisión-por-pares-a-código\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#ampliar-la-revisi%c3%b3n-por-pares-a-c%c3%b3digo\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eAmpliar la revisión por pares a código\u003c/h2\u003e\u003cp\u003eLa revisión del código ha sido una de las mejores iniciativas de rOpenSci. Creamos software, desarrollamos habilidades y creamos comunidad, y el proceso de revisión por pares ha sido un importante catalizador para las tres cosas. Ha hecho que tanto el software que desarrollamos internamente como el que aceptamos a partir de colaboración externa sea más fiable, utilizable y mantenible. Así que \u003cstrong\u003eestamos trabajando para promover la revisión por pares abierta del código por parte de más organizaciones\u003c/strong\u003e que trabajan con software científico. Ayudamos a lanzar \u003ca href=\"https://joss.theoj.org/\"\u003ela Revista de Software de Código Abierto\u003c/a\u003e que utiliza una versión de nuestro proceso de revisión para facilitar la publicación a quienes desarrollaron el software. El éxito de JOSS ha dado lugar a un proyecto derivado, el \u003ca href=\"https://jose.theoj.org/\"\u003eRevista de Educación en Código Abierto\u003c/a\u003e que utiliza un proceso abierto, similar a la revisión de código, para proporcionar devoluciones sobre planes de estudios y materiales educativos. También estamos desarrollando un programa piloto en el que los artículos de software enviados a una revista académica asociada reciben una etiqueta por pasar por la revisión de rOpenSci. Nos animan otras iniciativas de revisión como \u003ca href=\"https://rescience.github.io/\"\u003eReScience\u003c/a\u003e y \u003ca href=\"https://programminghistorian.org/\"\u003eThe Programming Historian\u003c/a\u003e. \u003ca href=\"https://www.bioconductor.org/\"\u003eBioConductor\u003c/a\u003e que preceden a la nuestra en varios años, han cambiado recientemente a un modelo abierto.\u003c/p\u003e\u003cp\u003e\u003cstrong\u003eSi tu organización desarrolla o cura código científico\u003c/strong\u003e creemos que la revisión de código, bien aplicada, puede ser un gran beneficio. Puede costar un esfuerzo considerable empezar, pero \u003cstrong\u003eaquí tienes algunas de las lecciones clave que hemos aprendido y que pueden ayudarte:\u003c/strong\u003e\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eDesarrollar estándares y recomendaciones\u003c/strong\u003e para que las utilicen tanto quienes envían como quienes revisan software. Tómalas prestadas libremente de otros proyectos (siéntete libre de utilizar las nuestras), y modifícalas iterativamente sobre la marcha.\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eUtiliza herramientas automatizadas\u003c/strong\u003e como \u003cem\u003elinters\u003c/em\u003e de código, suites de test y medidas de cobertura de test para reducir en lo posible la carga de las personas involucradas.\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eTen un alcance claro.\u003c/strong\u003e Explícale a tu equipo y a quienes colaboren externamente lo que aceptará tu proyecto, y por qué. Esto ahorrará mucha confusión y esfuerzo en el futuro.\u003c/li\u003e\u003cli\u003e\u003cstrong\u003eConstruye una comunidad\u003c/strong\u003e mediante incentivos a la creación de redes, oportunidades de aprender y amabilidad.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003cstrong\u003erOpenSci tiene muchas ganas de trabajar con otros grupos interesados en desarrollar procesos de revisión similares\u003c/strong\u003e, especialmente si les interesa revisar y curar software científico en lenguajes distintos de R o más allá de nuestro alcance de apoyo al ciclo de vida de los datos. El software que implementa algoritmos estadísticos, por ejemplo, es un área madura para la revisión abierta de código por pares. Por favor, \u003ca href=\"/contact/\"\u003eponte en contacto\u003c/a\u003e si tienes alguna pregunta o deseas co-pilotar un sistema de revisión para tu proyecto.\u003c/p\u003e\u003cp\u003eY, por supuesto, si quieres revisar, siempre estamos buscando personas interesadas. \u003ca href=\"/onboarding/\"\u003eInscríbete aquí\u003c/a\u003e.\u003c/p\u003e\u003chr\u003e\u003cp\u003ePuedes apoyar a rOpenSci \u003ca href=\"https://www.numfocus.org/community/donate/\"\u003easociándote a NumFOCUS\u003c/a\u003e o haciendo una \u003ca href=\"https://www.numfocus.org/open-source-projects/\"\u003edonación al proyecto\u003c/a\u003e.\u003c/p\u003e","url":"https://ropensci.org/es/blog/2017/09/01/nf-softwarereview-es/","date_published":"2017-09-01T00:00:00+00:00","date_modified":"2025-02-13T13:42:17+01:00"},{"id":"https://doi.org/10.59350/vej9b-tc502","title":"Así que (no) crees que puedas revisar un paquete","language":"es","authors":[{"name":"Juan Cruz Enrique","url":"https://ropensci.org/es/author/juan-cruz-enrique/","avatar":"https://github.com/juancruzeb.png","_role":["translator"]},{"name":"Mara Averick","url":"https://ropensci.org/es/author/mara-averick/","avatar":"https://github.com/batpigandme.png","_role":["author"]}],"tags":["Revisión por pares de Software","revisor","visualización","comunidad","paquetes"],"content_html":"\u003cp\u003eContribuir a una comunidad de código abierto \u003cem\u003esin\u003c/em\u003e aportar código es una idea a menudo extraña que puede parecer confusa. Por suerte, poner en práctica ideas vagas es uno de los puntos fuertes de la iniciativa \u003ca href=\"/community/\"\u003erOpenSci\u003c/a\u003e y su sistema de revision de paquetes ofrece la oportunidad de hacerlo.\u003c/p\u003e\u003cp\u003eEra la primera vez que revisaba un paquete y, como ocurre con tantas cosas de la vida, me preocupaba arruinar de algún modo el proceso de revisión del paquete, no sólo el paquete en sí, sino también la infraestructura \u0026hellip; quizá incluso rOpenSci en su conjunto.\u003c/p\u003e\u003cp\u003eSalvo la destrucción del duro trabajo de otra persona y/o de toda una organización, estaba bastante segura de que tendría poco que ofrecer en forma de consejos útiles. \u003cem\u003e¿Y si no tengo absolutamente nada que decir aparte de \u0026ldquo;sí, esto es, de hecho, un paquete\u0026rdquo;?\u003c/em\u003e\u003c/p\u003e\u003cfigure\u003e\u003cimg src=\"/blog/2017/08/22/first-package-review/np59m8Z.png\"\t\t\talt=\"emoji avergonzado sólo capaz de valorar \u0026#39;es un paquete\u0026#39;\"\u003e\u003cfigcaption\u003e\t\t\t\u003cp\u003eRevisión del paquete rOpenSci: lo que imaginaba\u003c/p\u003e\t\t\u003c/figcaption\u003e\u003c/figure\u003e\u003cp\u003eAsí que el primer paso (para mí) fue: confesar mis insuficiencias y pedir consejos. Resulta que gran parte de los consejos respecto a \u003cem\u003ecómo revisar un paquete\u003c/em\u003e están incluidos en los documentos. La \u003ca href=\"https://devguide.ropensci.org/reviewtemplate.html\"\u003eplantilla de revisor\u003c/a\u003e es un gran mapa del camino, cuya utilidad se desarrolla en la \u003ca href=\"https://devguide.ropensci.org/reviewerguide.html\"\u003eGuía de revisión de paquetes rOpenSci\u003c/a\u003e. Si lees esto detenidamente y lees además una o dos revisiones recomendadas (enlaces en la guía de revisión), probablemente estarás listo para empezar. Pero, si te sientes especialmente nervioso (como yo casi siempre), la Guía de revisión de paquetes rOpenSci \u003ca href=\"https://devguide.ropensci.org/softwarereviewintro.html#associateditors\"\u003eeditores de incorporación\u003c/a\u003e y la comunidad en general son fuentes de sabiduría y recursos confiables e inagotables.\u003c/p\u003e\u003ch2 id=\"visdat\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#visdat\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003e\u003ccode\u003evisdat\u003c/code\u003e\u003c/h2\u003e\u003cp\u003eYo no sabía nada de \u003ca href=\"https://github.com/njtierney\"\u003eNicholas Tierney\u003c/a\u003e\u0026rsquo;s \u003ca href=\"https://visdat.njtierney.com/\"\u003e\u003ccode\u003evisdat\u003c/code\u003e\u003c/a\u003e paquetes antes de recibir mi \u003ca href=\"https://github.com/ropensci/software-review/issues/87#issuecomment-270428584\"\u003einvitación a revisarlo\u003c/a\u003e. Así que lo primero que hice fue jugar con él de la misma forma que lo hago con otros paquetes interesantes de R que encuentro. Se trata de una mezcla totalmente desestructurada de ejecutar ejemplos e introducir mis propios datos para ver qué ocurre. Además de ser divertido, es una buena forma de \u0026ldquo;verificar\u0026rdquo; la misión del paquete y asegurarse de que no hay ninguna función muy útil que se esté pasando por alto.\u003c/p\u003e\u003cp\u003eSi \u003cem\u003eno\u003c/em\u003e conoces \u003ccode\u003evisdat\u003c/code\u003e , \u0026ldquo;proporciona al usuario una forma rápida de examinar visualmente la estructura de su conjunto de datos y, más concretamente, dónde y qué tipos de datos faltan\u0026rdquo;. \u003csup id=\"fnref:1\"\u003e\u003ca href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e1\u003c/a\u003e\u003c/sup\u003e Con el AED (análisis exploratorio de datos) en fase inicial, lo que realmente intentas es obtener una \u003cem\u003esensación\u003c/em\u003e de tus datos. Así que, sabiendo que no podía ser de mucha ayuda en la revisión del tipo \u003cem\u003e\u0026ldquo;así es como podrías hacer esto más rápido con C++\u0026rdquo;\u003c/em\u003e decidí asumir plenamente mi papel de \u003cem\u003e\u0026ldquo;usuario ingenuo\u0026rdquo;.\u003c/em\u003e . \u003csup id=\"fnref:2\"\u003e\u003ca href=\"#fn:2\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e2\u003c/a\u003e\u003c/sup\u003e\u003c/p\u003e\u003ch3 id=\"preguntas-que-tenía-en-mente-como-la-usuaria-ingenuo-residente\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#preguntas-que-ten%c3%ada-en-mente-como-la-usuaria-ingenuo-residente\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003ePreguntas que tenía en mente como la usuaria ingenuo residente:\u003c/h3\u003e\u003cul\u003e\u003cli\u003e¿Qué pensaba que haría esta cosa? ¿Lo hizo?\u003c/li\u003e\u003cli\u003e¿Qué cosas me asustan?\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eEsta última pregunta es clave y, aunque no tengo datos que lo respalden, puede ser una especie de fallo \u0026ldquo;silencioso\u0026rdquo; si no se examina. Alguien que juguetea con un paquete, pero lo encuentra confuso, no se detiene necesariamente a dar su opinión. También existe una pseudo \u003cem\u003emaldición del conocimiento\u003c/em\u003e. Mientras que los mensajes y advertencias son fáciles de analizar, suprimir, tratar y/o descartar por el usuario/programador veterano de R, un texto inesperado y de colores brillantes puede gritar fácilmente \u003cem\u003eDios mío, ¡lo has roto todo!\u003c/em\u003e a los menos experimentados.\u003c/p\u003e\u003ch2 id=\"miríadas-de-lecciones-aprendidas\"\u003e\u003ca class=\"anchor d-print-none\" href=\"#mir%c3%adadas-de-lecciones-aprendidas\"\u003e  \u003csmall\u003e\u0026#x1F517;\u003c/small\u003e\u003c/a\u003eMiríadas de lecciones aprendidas\u003c/h2\u003e\u003cp\u003eNo puedo hablar en nombre de Nick por la utilidad o no de mi revisión (puedes ver \u003ca href=\"/blog/2017/08/22/visdat\"\u003esu opinión aquí\u003c/a\u003e pero yo \u003cem\u003epuedo\u003c/em\u003e dar fe de la experiencia de revisión de paquetes como medio de inspeccionar metódicamente las entrañas de un paquete de R. Metódica es realmente la palabra clave. Aunque \u003cem\u003e\u0026ldquo;lee la documentación\u0026rdquo;.\u003c/em\u003e o \u003cem\u003e\u0026ldquo;mira el código\u0026rdquo;\u003c/em\u003e suena bastante sencillo, pero no siempre es fácil persuadirse a uno mismo para realizar la tarea pieza por pieza sin un objetivo final en mente. Aunque el deseo de contribuir al software de código abierto es bastante noble (y es como yo \u003cem\u003epersonalmente\u003c/em\u003e acabé implicado en este proceso, con algo de ayuda/instrucciones de \u003ca href=\"https://twitter.com/noamross\"\u003eNoam Ross\u003c/a\u003e ), también es una abstracción que puede hacer que uno se sienta abrumado y sin saber por dónde empezar. \u003csup id=\"fnref:3\"\u003e\u003ca href=\"#fn:3\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e3\u003c/a\u003e\u003c/sup\u003e\u003c/p\u003e\u003cp\u003eTambién hay \u003ca href=\"https://devguide.ropensci.org/softwarereviewintro.html#whyreview#whyreview\"\u003epuntos extra egoístas\u003c/a\u003e que simplemente no puedes evitar, si sigues el camino de la revisión de paquetes de rOpenSci, especialmente si el desarrollo de paquetes es nuevo para ti. \u003csup id=\"fnref:4\"\u003e\u003ca href=\"#fn:4\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e4\u003c/a\u003e\u003c/sup\u003e Diablos, la \u003ca href=\"https://devguide.ropensci.org/reviewerguide.html\"\u003eguía de revisión de paquetes\u003c/a\u003e fue muy clara por sí sola.\u003c/p\u003e\u003cp\u003eAdemás, el sabio-sabio \u003ca href=\"https://devguide.ropensci.org/softwarereviewintro.html#associators\"\u003eeditores de rOpenSci\u003c/a\u003e \u003csup id=\"fnref:5\"\u003e\u003ca href=\"#fn:5\" class=\"footnote-ref\" role=\"doc-noteref\"\u003e5\u003c/a\u003e\u003c/sup\u003e son excelentes juntando revisores con autores y garantizan que realmente estás revisando un paquete escrito por alguien que \u003cem\u003equiere\u003c/em\u003e que su paquete sea revisado. Esto parece bastante sencillo, pero es reconfortante saber que tu opinión va a ser tomada verdaderamente en cuenta.\u003c/p\u003e\u003cdiv class=\"footnotes\" role=\"doc-endnotes\"\u003e\u003chr\u003e\u003col\u003e\u003cli id=\"fn:1\"\u003e\u003cp\u003eSí, estoy citando mi propia crítica.\u0026#160;\u003ca href=\"#fnref:1\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:2\"\u003e\u003cp\u003eAsí que, básicamente, sólo hago de mí misma\u0026hellip; También sabía que, aunque sólo sea eso, puedo corregir y corregir textos.\u0026#160;\u003ca href=\"#fnref:2\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:3\"\u003e\u003cp\u003eAhí sin embargo, hay muchos recursos buenos para superar este obstáculo (por ejemplo \u003ca href=\"https://www.firsttimersonly.com/\"\u003eSólo para principiantes\u003c/a\u003e o \u003ca href=\"https://twitter.com/cvwickham\"\u003eCharlotte Wickham\u003c/a\u003e\u0026rsquo;s \u003ca href=\"https://cwick.co.nz/talks/collab-code-user17/#/\"\u003eCodificación colaborativa\u003c/a\u003e de useR!2017 es esp. para el usuario de R).\u0026#160;\u003ca href=\"#fnref:3\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:4\"\u003e\u003cp\u003eVale, así que no tengo un mundo paralelo en el que una versión mía muy experimentada como desarrolladora de paquetes va por ahí consiguiendo\u003cem\u003emenos\u003c/em\u003e del proceso, \u003cem\u003epero\u003c/em\u003e si ya conoces a fondo la estructura de los paquetes, es poco probable que tropieces con tantos momentos \u0026ldquo;a-ha\u0026rdquo; básicos.\u0026#160;\u003ca href=\"#fnref:4\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003cli id=\"fn:5\"\u003e\u003cp\u003e\u003ca href=\"https://github.com/noamross\"\u003eNoam Ross\u003c/a\u003e, \u003ca href=\"https://github.com/sckott\"\u003eScott Chamberlain\u003c/a\u003e, \u003ca href=\"https://github.com/karthik\"\u003eKarthik Ram\u003c/a\u003e, \u0026amp; \u003ca href=\"https://github.com/maelle\"\u003eMaëlle Salmon\u003c/a\u003e\u0026#160;\u003ca href=\"#fnref:5\" class=\"footnote-backref\" role=\"doc-backlink\"\u003e\u0026#x21a9;\u0026#xfe0e;\u003c/a\u003e\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e\u003c/div\u003e","url":"https://ropensci.org/es/blog/2017/08/22/first-package-review/","date_published":"2017-08-22T00:00:00+00:00","date_modified":"2025-05-26T12:55:30-03:00"}]}