R

Por si os interesa el tema de la energía, las centrales, las emisiones, etc.

R

Esta entrada será del interés de a quien le atraigan dos temas bastante independientes entre sí:

  • La energía, las centrales eléctricas, sus emisiones, etc.
  • SPARQL

Allá va el código

library(SPARQL)
library(ggplot2)

queryString = "PREFIX a: <http://enipedia.tudelft.nl/wiki/>
PREFIX prop: <http://enipedia.tudelft.nl/wiki/Property:>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?plant ?name ?elec_capacity_MW ?lat ?lon ?operator
where {
?plant prop:Country a:Spain .
#get the name
#?plant rdfs:label ?name .
?plant prop:Generation_capacity_electrical_MW ?elec_capacity_MW .
#?plant prop:Operator ?operator .
?plant prop:Latitude ?lat .
?plant prop:Longitude ?lon .
}"


d <- SPARQL(url="http://enipedia.tudelft.nl/sparql",
            query=queryString, format='csv',
            extra='&format=text%2Fcsv')

ggplot(d$results, aes(x = lon, y = lat, size = elec_capacity_MW)) +
  geom_point()

y lo que genera, que es

¿En qué año era la el almacenamiento en disco tan caro como hoy en memoria?

R

La respuesta a sea pregunta, y siempre de acuerdo con los datos de John C. McCallum, la da

discos_vs_memoria

que hace corresponder a cada año del eje horizontal el correspondiente (en el vertical) aquel en el que el almacenamiento en disco venía a costar lo mismo (euros por MB) que el memoria en el primero.

Hoy vamos casi por 2000.

Me llama la atención que el crecimiento se esté ralentizando.

El código, por si alguien le encuentra alguna tara, es

Un poco más sobre el índice de poder de Banzhaf

R

En el año 2012 escribí esto, que incluye

El índice de Banzhaf para un determinado partido político mide su poder en términos del porcentaje de las posibles alianzas mínimas ganadoras en las que participa dentro de su universo total. Una alizanza es ganadora cuando reúne más de la mitad de los votos. Y es mínima cuando todos sus integrantes son necesarios para que sea ganadora; excluye, por ejemplo, la alianza trivial formada por todos los partidos.

Coaliciones de Banzhaf en el 20D

R

Usando código de una entrada anterior voy a medir el poder de cada partido político de acuerdo con Banzhaf tras las elecciones de diciembre de 2015.

escannos <- c(123, 90, 69, 40, 9, 8, 6, 2, 2, 1)
names(escannos) <- c( "pp", "psoe", "pod", "c's",
    "erc", "dl", "pnv", "iu", "bildu", "cc")
banzhaf(escannos)

da 14 coaliciones mínimas,

pp psoe
pp pod
pp c's erc dl
pp c's erc pnv
pp c's erc iu bildu
pp c's dl pnv
pp c's dl iu bildu cc
psoe pod c's
psoe pod erc dl
psoe pod erc pnv iu
psoe pod erc pnv bildu
psoe pod dl pnv iu bildu
psoe pod dl pnv iu cc
psoe pod dl pnv bildu cc

y un reparto de poder que queda de esta manera:

CRAN, r-devel, GitHub, Travis CI, pruebas automáticas y todo eso

R

Estoy harto. La gente de CRAN me devolvió (con errores) un paquete que trataba de subir. Había hecho el prescriptivo

R CMD check --as-cran etc.

y el log era una patena. Pero había un par de NOTES al pasar el test sobre la versión de desarrollo de R, r-devel. No solo hay que probar los paquetes en la versión que hay sino también en la que vendrá (tal y como está docuentado).

Pasando data.frames de R como tablas de pandas en Python usando rPython

R

Un usuario de rPython, David González Knowles, me ha facilitado su código para pasar una tabla, iris en este caso, de R a una tabla de pandas en Python usando mi paquete.

En R hay tablas de serie. En Python no. La librería pandas de Python implementa algo parecido a los data.frames. Solo que nada garantiza que un usuario de Python la tenga instalada. Por eso no hay un formato de destino claro y universal para las tablas de R a través de rPython. Y por eso, en Python, si se tiene pandas instalado, el usuario tiene que hacer algo, lo siguiente:

Cambio de logo en la Comunidad R Hispano

R

Hace años, al comienzo de los tiempos de la Comunidad R Hispano, se propusieron ciertos logos y se votó el actual,

logo_comunidad_r_hispano

que tiene su gracia pero, también, dos inconvenientes graves:

  • Está diseñado para ser utilizado sobre fondo oscuro. Pero un logo tiene que quedar bien sobre fondo blanco (papel, cartelería, etc.).
  • El autor solo proporcionó un par de imágenes (no vectoriales, por supuesto) del logo antes de desaparecer (no, no falleció: vive feliz en otro país y dejó de usar R).

Vamos, que después de sufrirlo durante un tiempo, hemos decidido cambiarlo. Ha habido varias propuestas nuevas, que ahora presentamos a los interesados (tú, por ejemplo) para que elijan su favorito. Gracias a Pedro Concejero, que ha organizado la encuesta, puedes votar tu logo favorito.

agate: análisis de datos optimizado para humanos (y no para máquinas)

Una de las cosas que menos me canso de repetir es que R no es (solo) un lenguaje de programación. R es un entorno para el análisis de datos. Los informáticos se horrorizan con él: no entienden por qué es como es. Pero, fundamentalmente, su problema es que no conciben que pueda haber sido diseñado para el REPL y no (solamente) para crear programas.

Casi todo el tiempo que paso con R abierto lo consumo trabajando interactivamente, no programando. R está pensado para facilitar ese tipo de trabajo, no para crear programas complejos. Está optimizado para el usuario, no para la máquina. De ahí se sigue una cascada de corolarios que no ha lugar plantear aquí.

Lo poco y lo mucho; lo malo, lo regular y lo bueno

R

Estos días pasados ha habido un hilo en la lista de correo de ayuda de R en español (¿todavía no te has dado de alta en ella?) en la que alguien preguntaba cómo crear paquetes y dónde encontrar documentación al respecto.

La buena intención de quienes han tratado de ayudarle, me temo, ha sido contraproducente. Lo han empapelado con una lista (casi con aspiraciones de exhaustividad) de recursos y más recursos en los que se indica cómo resolver el problema.

GAM

Hoy he dado una charla en la Carlos III. En la comida me han preguntado, algo extrañados, por un ejemplo que había enseñado en el que ajustaba un modelo usando GAMs.

El motivo era que quienes preguntaban —que trabajan con ese tipo de modelos— encuentran muy difícil, se ve, convencer a otros usuarios de los métodos estadísticos (economistas, etc.) de adoptarlos. Yo he contestado que hace unos pocos días a unos primíparos que acababan de ajustar sus tres primeros lms con R les invité a probar GAMs con sus datos. ¿Por qué no?

Asignación en R: ¿flecha o lo innombrable?

R

Alguien que no quiero nombrar (pero que sabe de sobra quién es) me comentaba el otro día algo que no sabía de la asignación en R: las presuntas diferencias entre <- e =. Que en resumen eran:

  • ambos asignan
  • pero = hace una copia del objeto asignado
  • mientras que <- no.

Como consecuencia, <- es más eficiente desde el punto de vista de la gestión de la memoria.

¿Será cierto? ¿Qué nos dirá tracemem al respecto? No seáis vagos y probad