Python y R: una perspectiva markoviana

Hoy he visto aquí y he escrito m <- matrix(c(74, 15, 10, 1, 11, 50, 38, 1, 5, 4, 90, 1, 17, 4, 19, 60), 4, 4, byrow = TRUE) m <- m / 100 luego m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m%*% m%*% m%*% m%*% m%*% m%*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m %*% m%*% m%*% m%*% m%*% m%*% m%*% m # [,1] [,2] [,3] [,4] #[1,] 0.1926676 0.1133218 0.6696203 0.02439024 #[2,] 0.1926647 0.1133206 0.6696245 0.02439024 #[3,] 0.1926638 0.1133202 0.6696258 0.02439024 #[4,] 0.1926675 0.1133218 0.6696205 0.02439025 y finalmente res <- eigen(t(m)) res$vectors[,1] / sum(res$vectors[,1]) #[1] 0.19266473 0.11332059 0.66962444 0.02439024 Aquí dice por qué.

6 de septiembre de 2017 · Carlos J. Gil Bellosta

Gelmaneando

Hoy, gelmaneo así: bar <- function(n, reps = 1e4){ foo <- function(n){ x <- rnorm(n) tmp <- t.test(x) c(tmp$p.value, abs(mean(x))) } res <- replicate(reps, foo(n)) tmp <- t(res) tmp <- tmp[tmp[,1] < 0.05,] tmp[,2] } res <- lapply(c(3, 10, 20, 50, 100), bar) sapply(res, mean) #[1] 0.8662636 0.6583157 0.4934551 0.3240322 0.2337086 Resumo: Fabrico un montón de errores de tipo I. Recuérdese: error de tipo I implica artículo publicado. Hago variar el número de sujetos (3, 10, etc.), n. Mido el tamaño (promedio) del efecto, E; el estudio de su distribución, ejercicio para el lector. Y efectivamente, E es función decreciente de n. ...

13 de julio de 2017 · Carlos J. Gil Bellosta

Micromapas

Vienen a ser la versión geo de las sparklines. Por ejemplo, Notas: El gráfico anterior no es mío. El código (y datos) con el que se generó tampoco. Son de Susana Huedo, exalumna. Está basado (todo hay que decirlo) en código de terceros y debería acordarme de cuál de ellos. Pero no es el caso.

7 de julio de 2017 · Carlos J. Gil Bellosta

Creo que darán que hablar (los GRF)

El artículo, el código y el paquete.

6 de julio de 2017 · Carlos J. Gil Bellosta

Syberia tiene muy buena pinta [pero...]

Echadle un vistazo a Syberia (y me contáis qué tal os va). Tiene muy buena pinta y puede ser útil para produccionalizar código. [Esto es casi todo; lo que sigue es omitible.] Sin embargo y sin que necesariamente haga desmerecer a Syberia como tal, en la página arriba enlazada se lee: In the viewpoint of the author, R is syntactic sugar around LISP, which enables arbitrary computation; Syberia is an attempt to support this conjecture by allowing the construction of arbitrary software projects within the R programming language, thereby finally outgrowing its long-overdue misconception as a statistical tool. ...

5 de julio de 2017 · Carlos J. Gil Bellosta

Hoy, como excepción, gritaré y justificaré: ¡Malditos logaritmos!

Dados unos números positivos hay que justificar por que no tomar logaritmos y no al revés. La carga de la prueba recae sobre quien no lo hace. No obstante: Tenía unos datos (para cada $t$) que siguen (me lo juran) un modelo teórico $$ \log y \sim k \exp(-at)$$ Existen dos opciones para encontrar los parámetros deseados $k$ y $a$. El primero, tomando logaritmos y aplicando lm. El segundo, ajustando un modelo no lineal con, p.e., nls. ...

29 de junio de 2017 · Carlos J. Gil Bellosta

¿Les dará un patatús a mis excolegas?

En Gaussianos publicaron este problema: En un triángulo acutángulo ABC tenemos que AH, AD y AM son, respectivamente, la altura, la bisectriz y la mediana que parten desde A, estando H, D y M en el lado BC. Si las longitudes de AB, AC y MD son, respectivamente, 11, 8 y 1, calcula la longitud del segmento DH. El gráfico, construido por uno de los respondedores, Ignacio Larrosa Cañestro, es este: ...

28 de junio de 2017 · Carlos J. Gil Bellosta

¿Cómo preambuláis vuestros .Rmd?

Yo nunca me había preocupado demasiado de eso (salvo en las presentaciones, para la que uso revealjs y que son otra historia), pero el otro día me pasaron y vi el efecto de --- title: "Mi título" author: "Yo Me Mí Conmigo" date: '`r format(Sys.Date(), "%B %d, %Y")`' output: html_document: toc: true toc_float: collapsed: false smooth_scroll: false theme: united highlight: tango --- y las cosas van a cambiar para siempre. ...

26 de junio de 2017 · Carlos J. Gil Bellosta

La anticonferencia: una idea que me ronda la cabeza

La anticonferencia me ronda la cabeza. No es una conferencia, (de ahí el prefijo), aunque se parezca a ella en lo de reunir a un grupillo de gente interesada en un asunto. No es un jacatón. Los jacatones están, sobre el papel, bien; pero demasiado a menudo su producto se queda ahí, tiene poca (o nula) trayectoria o impacto. ¿Me dejáis que diga que son mayormente intranscendentes? Pero creo que los de rOpenSci dieron en el clavo con su Unconference. Es una reunión similar a un jacatón, pero con un objetivo claro: desarrollar paquetes y extender el universo de herramientas de rOpenSci. ...

12 de junio de 2017 · Carlos J. Gil Bellosta

Funcionalidades infravaloradas de R: los corchetes

[Ad]Mirad esta pequeña maravilla de código: n <- 100 dat <- data.frame( y = rnorm(100), x = sample(letters[1:3], n, replace = T) ) medias <- tapply(dat$y, dat$x, mean) dat$x.trans <- medias[dat$x] head(dat) El corchete está manifiestamente infravalorado.

7 de junio de 2017 · Carlos J. Gil Bellosta