Las VIII Jornadas de Usuarios de R, en Albacete
Por si alguien aún no lo sabe: estamos todos citados en Albacete los días 17 y 18 de noviembre de 2016 en las VIII Jornadas de Usuarios de R.
Los detalles, aquí.
Por si alguien aún no lo sabe: estamos todos citados en Albacete los días 17 y 18 de noviembre de 2016 en las VIII Jornadas de Usuarios de R.
Los detalles, aquí.
Está de moda usar caret para estas cosas, pero yo estoy todavía acostumbrado a hacerlas a mano. Creo, además, que es poco instructivo ocultar estas cuestiones detrás de funciones de tipo caja-negra-maravillosa a quienes se inician en el mundo de la construcción y comparación de modelos. Muestro, por tanto, código bastante simple para la validación cruzada de un modelo con R:
# genero ids
ids <- rep(1:10, length.out = nrow(cars))
# Nota: da igual si nrow(df) no es múltiplo de 10
# los aleatorizo
ids <- sample(ids)
# esto devuelve una lista de dfs:
preds.cv <- lapply(unique(ids), function(i){
preds <- predict(lm(dist ~ speed,
data = cars[ids != i,]), cars[ids == i,])
data.frame(
preds = preds,
real = cars[ids == i,]$dist)
})
# "apilo" los dfs:
preds.cv <- do.call(rbind, preds.cv)
# calculo el rmse
rmse <- sqrt(mean((preds.cv$preds - preds.cv$real)^2))Sí, estoy usando el RMSE aunque sea un detractor del mismo.
Acabo de escribir a los socios de la Comunidad R Hispano acerca de la existencia de una propuesta para renovar la página de la asociación. Podéis ver la versión actual y la propuesta.

(Y agradezco muchísimo el trabajo de Paula López Casado, responsable de que la nueva página tenga un aspecto infinitamente más atractivo que la que lees).
(Además, esta entrada incluye el que será el nuevo logo de la Comunidad R Hispano).
Las diapositivas de mi charla sobre rstan en el grupo de usuarios de R de Madrid del 2016-02-11 están aquí.
(Y los vídeos).
Probablemente no habéis utilizado nunca Redis. Redis es un sistema de almacenamiento basado en parejas clave-valor. Es similar a un diccionario de Python o a un entorno en R. Salvo que el almacenamiento es externo al proceso: los datos se guardan en un sistema distribuido y potencialmente ilimitado en cuanto a capacidad.
Si queréis probar algo parecido, además de los diccionarios y los entornos, podéis probar con storr , un paquete reciente de R. Aquí tenéis una minisesión de ejemplo:
A J. Tirole tiene Nobel de economía. En 2002 escribió un artículo, Some Simple Economics of Open Source, en el que trataba de explicar desde un punto de vista económico y de organización industrial el porqué de esa rareza. Aparte de cuestiones como si sería extrapolable a otros sectores distintos del del desarrollo de software.
En la sección sobre la reacción de las compañías de software frente al fenómeno del software libre tiene un apartado titulado viviendo simbióticamente de [no con] un proyecto de código abierto que termina con la frase (mi traducción):
Una pregunta reciente en r-help-es se refería a la comparación en R de las proporciones en tres grupos. Obviando algunas pequeñas complicaciones en el problema, la respuesta canónica podría ser esta:
total <- c(56, 49,51)
positivos <- c(14, 10, 17)
prop.test(tmp$positivos, tmp$positivos + tmp$negativos)
# 3-sample test for equality of proportions without continuity correction
#
# data: tmp$positivos out of tmp$positivos + tmp$negativos
# X-squared = 2.2289, df = 2, p-value = 0.3281
# alternative hypothesis: two.sided
# sample estimates:
# prop 1 prop 2 prop 3
# 0.2500000 0.2040816 0.3333333Los grupos no parecen ser desiguales.
A veces se hacen encuestas sobre temas sobre los que los encuestados son reticentes a revelar la verdad (p.e., ¿es Vd. un zombi?). Un procedimiento conocido para recabar tal tipo de información es el siguiente:
A partir de la proporción de respuestas positivas y conocida la probabilidad del sí de la moneda, $q$, es posible estimar la proporción $\theta$ de respuestas positivas a la pregunta de subyacente de interés en la muestra. Efectivamente, los síes tienen una distribución binomial $B(p) = B(q\theta + (1-q)(1-\theta))$ y, una vez estimado (por máxima verosimilitud) $\hat{p}$, puede despejarse $\hat{p}$ de $\hat{p} = q\hat{\theta} + (1-q)(1-\hat{\theta})$ para obtener
Esta entrada será del interés de a quien le atraigan dos temas bastante independientes entre sí:
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
La respuesta a sea pregunta, y siempre de acuerdo con los datos de John C. McCallum, la da
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