R hispano
前往频道在 Telegram
Gestionado por la Comunidad de usuarios de R hispano, canal informativo sobre R: eventos, actualizaciones y contenido friki en general.
显示更多515
订阅者
无数据24 小时
+17 天
+130 天
帖子存档
515
Convierte un audio en texto. Con R
🎧 Whisper, de OpenAI, te ayuda a convertir un mensaje de audio en texto.
↔ audio.whisper es una librería de R que te permite usar esa herramienta desde R. Solo necesitas una ruta a un fichero .wav
🧐Echa un ojo a la imagen para ver un ejemplo. Y al link, para más detalles.
🔗 http://www.bnosac.be/index.php/blog/105-audio-transcription-with-whisper-from-r
515
Cuida esas formas
📝 "El estilo en codificación es como la ortografía en la escritura: te puedes apañar sin ello pero teaseguroqueteseramuchomasfacilleer."
📜 Así presentan en el ecosistema
tidyverse sus librerías orientadas a que tu código siga unas pautas de estilo fijas: styler y lintr.
🧐 De esta forma, revisar tu código será más fácil (para tus compañeros y para tu yo del futuro).
🔗 https://style.tidyverse.org/
🙏 Gracias a nuestro vocal, Carlos Ortega, por la recomendación515
Noticias tidyverse
🎻 stringr 1.5.0
- Mayor consistencia con el ecosistema tidyverse.
- Mejor documentación y mensajes de error más detallados.
🔗 https://stringr.tidyverse.org/news/index.html
🛠 dplyr 1.1.0 (coming soon)
- Agrupación con argumento
.by, modo data.table.
- Nueva sintaxis en los joins
- Nuevo verbo: reframe
🔗 https://www.tidyverse.org/blog/2022/11/dplyr-1-1-0-is-coming-soon/#reframe-a-generalization-of-summarise515
Balance post-Córdoba
Ayer cerramos el I Congreso R hispano y te traemos unas conclusiones que van más allá de un resumen del contenido.
🔵 Es innegable que Python ha crecido mucho en el mundo de los datos, pero queda claro que la comunidad R no pierde fuerza. Hemos visto muchos proyectos de estadística aplicada a muchos campos, sin caer en el humo del machine learning de moda, y en todos ellos la elección del lenguaje estaba clara.
🔵 Muchos usuarios usan R como entorno de trabajo estadístico, en el sentido de que aplican las funciones con cálculos estadísticos necesarias y nada más. No olvides que R te provee de herramientas más allá de eso: carga de datos en el origen, manipulación hasta cualquier extremo deseado, exploración de resultados con miles de librerías gráficas y presentación mediante Quarto o Shiny o despliegue en servidores y muchos servicios en la nube.
🔵 Los usuarios siguen desarrollando nueva funcionalidades y se aseguran de que estén operativas en CRAN o GitHub para que luego puedas aprovecharlas. Y están más que abiertos a resolver dudas. Hay una comunidad enorme: aprovéchala.
🔵 La estadística es una herramienta. Y es imprescindible para muchos sectores: medicina, psicología, agricultura, biología. Casi nadie es data scientist, casi nadie es estadístico. Cada uno es lo que es y usa las herramientas a su alcance: muchas personas ven R como la forma más cómoda de mezclar esos conocimientos.
Un placer compartir este par de días contigo. Seguiremos trabajando para mantener a la comunidad unida 💻
515
I CONGRESO R HISPANO
En noviembre tendrá lugar el I Congreso R hispano, lo que siempre hemos llamado Jornadas pero que ha alcanzado tal envergadura que merece llamarse Congreso.
RStudio se vincula cada vez más a Python pero nuestra comunidad, la tuya, se hace cada vez más fuerte.
Pues sí, en noviembre nos vemos, si quieres.
Y, si quieres, nos puedes contar qué cosas haces con R. Tus análisis, tus librerías, tus Shinys... Lo que gustes.
Tienes hasta el 16 de este mes para mandar una propuesta.
Y recuerda una cosa: nos juntaremos gente de muchos ámbitos. Así que, hagas lo que hagas, seguro que habrá alguien a quien le descubras algo nuevo con tu trabajo. O le compartas algo que ya conoce y le hace ilusión.
🔗 Propuestas e inscripciones, aquí:
http://r-es.org/12jr/
515
5 funciones para debuguear 🛠
-
traceback() - Te muestra las funciones que se ejecutaron antes de un error.
- debug() - Ejecutas una función dentro de su entorno, paso a paso.
- browser() - Similar a debug(), pero tú indicas desde dónde quieres ejecutar.
- trace() - Debugueas en una línea de código concreta si esta da error.
- recover() - Te da la opción de iniciar browser() desde cualquiera de las llamadas a funciones que haya habido en la última ejecución.
🔗 https://techvidvan.com/tutorials/r-debug/515
Pequeños detalles en dplyr
Hemos descubierto
with_groups() hace poco. Sirve para hacer esto:
iris %>%
with_groups(
Species,
filter,
Sepal.Length > mean(Sepal.Length)
)
en lugar de esto:
iris %>%
group_by(Species) %>%
filter(
Sepal.Length > mean(Sepal.Length)
) %>%
ungroup()
Puede serte cómodo ahorrarte una instrucción de vez en cuando (y que dplyr la haga por ti) .515
Llega al 100%
👌 Estás haciendo un shiny y te ha quedado muy completo. Hace casi todo lo que tenías en mente. Pero le falta algo. Puede ser un desplegable que queda feo. O un texto que aparece por defecto pero no te aporta nada.
🤔 Digamos que tu shiny está al 90%. ¿Qué haces para llevarlo al 100%?
💪 En este post la autora nos enseña como sacar el máximo provecho de
datatable en shiny. Usando javascript.
📄 Ya, pero yo no sé javascript, dirás. Pero reconocerás que no tienes problema en copiar código de un sitio y otro... Ves si funciona... Pruebas hasta que funciona... Copiar de otros: así es como surge la inspiración.
🔗 https://maya.rbind.io/post/2022/moving-dom-elements-in-shiny/515
Adelgaza
🔁 Las dependencias importan. Toda dependencia en tu proyecto es una invitación a desbarajustar tu proyecto.
📦 tinyverse es un proyecto en el que algunos desarrolladores intentan agrupar versiones ligeras de paquetes de R. O te dan pistas de cómo hacerlo en los tuyos.
🔗 Tienes muchos links a sus experiencias por aquí:
https://www.tinyverse.org/
515
Shiny y bases de datos
🤯 Si tienes un Shiny en producción conectado a una base de datos, sabes que es un dolor de cabeza.
🔩 Emily Riederer nos da una pistas para la gestión de la base de datos desde R.
🔐 Con especial atención a la seguridad. Menciona también un post de RStudio que soluciona un problema cuando el usuario de la app introduce su propio código SQL.
👌 Todo bien atado.
🔗 https://www.emilyriederer.com/post/shiny-db/
515
Compartir es vivir
☁️ ¿Crees que todo el mundo se ha pasado a AWS, Azure, Google Cloud? Pues no. Para compartir datos siguen vigentes cosas como Dropbox, OneDrive o unidades de disco.
📦 Los de RStudio lo saben, así que han sacado un paquete para simplificarte la vida si estás en esta situación.
👥 Te simplifica la vida si compartes ficheros en ubicaciones tipo:
- Dropbox
- Sharepoint
- OneDrive
- unidades de disco (¿tienes algo parecido a Z:/ en tu ordenador?)
- AWS, Azure, Google Cloud
- RSConnect
Se llama
pins.
🔗 https://pins.rstudio.com/515
Vectoriza. Ahorrarás tiempo
⏳ Puede que te guste
tidyverse, pero no dejes de lado el potencial vectorial de R. En problemas grandes notarás mejor rendimiento.
🤯 En el link, el autor se enfrenta a varios problemas de programación y se pone una restricción: vectorizar todo lo posible.
💡 Lo puedes ver como un ejercicio de coger práctica. Así, a la hora de la verdad, con problemas reales, ya tiene soltura con esta metodología. Además, es R base: sin dependencias.
🗓 El autor trabaja tres problemas, pero es un Adviento de código: hay un problema por cada día de este mes, hasta Navidad. ¿Te animas con alguno? Una cosa: si compartes tu trabajo por redes sociales, te ayudamos a moverlo.
🔗 https://www.quantumforest.com/2021/12/10/recreational-programming/515
De izquierda a derecha
❔¿Usas los pipes en R?
💡Seguro que te suena
%>% ¿Sabes que hay más pipes? No solo en el paquete magrittr, sino en pipeR, wrapR y, recientemente, R base.
📚Adolfo Álvarez cuenta en su blog la historia de los pipes en R, incluidas funcionalidades y anécdotas.
🔗Si quieres curiosear más: http://adolfoalvarez.cl/blog/2021-09-16-plumbers-chains-and-famous-painters-the-history-of-the-pipe-operator-in-r/515
Shiny en producción
🟣 ¿Das acceso a tus aplicaciones shiny a otros usuarios como buenamente puedes? ¿Tienes pendiente decidirte por una manera estable de hacerlo? Nosotros sí 😅
🤯 Si cada vez que quieres que un usuario use tus shinys lo haces de manera improvisada, y cada vez de manera distinta, en este post dan una idea.
☁ Se basa en Google Cloud. ¿Qué pasa si no usas Google Cloud? Nada, porque da otras ideas:
🔹Imagen docker para alojar un shiny.
🔹Esquema de lo necesario en nube, que puedes aprovechar con AWS o Azure.
🔗 ¿Quieres echar un ojo? https://anderfernandez.com/blog/poner-app-shiny-en-produccion/
515
Programación con estilo
💻 ¿Colaboras con varias personas usando R? Cada uno tiene su estilo de programación y, aunque ninguno tiene por qué ser incorrecto, conviene ponerse de acuerdo entre todos en ciertas directrices. Además, sí, hay veces que un código es tan amorfo que no hay modo de revisarlo.
🛠 Un código uniforme puede ayudar en labores de mantenimiento y proporcionará buena salud computacional. Para asegurar que se mantiene cierto estilo, existen paquetes que facilitan la supervisión:
-
lintr. Indica códigos que no siguen ciertas directrices.
- covr. Detecta códigos que no están revisados por ningún test.
- styler. Ayuda a dar formato a códigos de acuerdo con alguna convención.
🔗 Todo está muy bien explicado aquí:
https://blog.methodsconsultants.com/posts/developing-r-packages-with-usethis-and-gitlab-ci-part-iii/515
RStudio y su competencia
🧐 Hemos visto en Twitter una crítica a RStudio, en la que se dice que ha quedado anticuado y, según entendemos, no permite explotar todo el potencial de R.
🤔¿A favor, en contra?
🤓 ¿Preferencias entre RStudio, Jetbrains, VSCode, Vim, Emacs...?
🔗🔗🔗
https://twitter.com/verajosemanuel/status/1426089057503879173?s=19
515
Fechas y Excel
🤯 A veces tenemos una columna en Excel con valores tipo 01/01/2016, 02/01/2016, 03/01/2016,... y cuando la leamos con R pasará a ser 42370, 42371, 42372,... ¿Te ha pasado alguna vez?
💡Excel nos persigue, queramos o no, y hay que lidiar con estos inconvenientes de vez en cuando. Hay muchas formas de hacerlo pero recientemente hemos encontrado una función que nos parece especialmente cómoda. Está en el paquete janitor y se llama
excel_numeric_to_date.
💻 Algunos ejemplos:
> excel_numeric_to_date(40000)
[1] "2009-07-06"
> excel_numeric_to_date(40000.5) # No time is included
[1] "2009-07-06"
> excel_numeric_to_date(40000.5, include_time = TRUE)
[1] "2009-07-06 12:00:00 CEST"515
Truco en RStudio
🤓 ¿Sabías que puedes ejecutar código desde el panel de ayuda de RStudio con
Ctrl+Intro? Seleccionas el código y ejecutas, como si fuera un script. Maravilloso, ¿no? ¿Cuántos copypastes puede ahorrarnos eso?
👉 Un ejemplo, en el GIF.