Curso de análisis estadístico de datos "ómicos" con R

Los días 8, 9 y 10 de abril de 2014. Este curso pretende introducir a los investigadores al análisis de datos que se están generando con las nuevas tecnologías de secuenciación, así como facilitar a aquellos que ya disponen de datos su análisis e interpretación de resultados. El curso es un curso práctico en el que se utilizará una metodología similar a la que se ha usado en otros cursos anteriores y que tan buenos resultados ha obtenido. ...

27 de febrero de 2014 · rvaquerizo

Truco Excel. Pasar de número con formato AAAAMMDD a fecha con fórmulas

Tenía que transformar un número en formato AAAAMMDD a una fecha en Excel. Tenía que concatenar varias funciones y he pensado que a lo mejor a alguno de los lectores del blog podría interesarle. Se trata de utilizar la función de Excel FECHA con RESIDUO y ENTERO pero con cierto talento. Partimos de una fecha (en la celda C6) 20140225 y aplicamos la siguiente sucesión de fórmulas: Año: =ENTERO(C6/10000) Mes: =RESIDUO(ENTERO(C6/100);100) Día: =RESIDUO(C6;100) Todo junto en una fórmula: =FECHA(ENTERO(C6/10000);RESIDUO(ENTERO(C6/100);100);RESIDUO(C6;100)) Ahí tenéis un truco interesante por si os encontráis en la misma situación que yo. Saludos.

25 de febrero de 2014 · rvaquerizo

Consultor particular de seguros

En España cada vez hay más emprendedores. Como no hay trabajo, es necesario buscarse la vida para generar ingresos. No es una buena noticia: podemos crear algo parecido a “la burbuja de los emprendedores”. Espero equivocarme; esto da para otra entrada. El caso es que me gustaría ayudar a aquellas personas que deseen emprender. Mi idea ya tendrá precedentes y pondrá en pie de guerra a mediadores, corredores y muchos profesionales del seguro: ¿por qué no crear un consultor particular de seguros? ...

7 de febrero de 2014 · rvaquerizo

Selección del mejor punto de diagnóstico en una prueba diagnóstica

La pasada semana, in un examen, me preguntaron cuál era el mejor punto para una prueba diagnóstica; era necesario razonar mi respuesta. Seguramente mi respuesta fue correcta, pero mi razonamiento no lo fue y por eso quería redimirme. Para evaluar las pruebas diagnósticas con una respuesta binaria (sí/no), contamos con la sensibilidad y la especificidad. La sensibilidad es la capacidad que tiene la prueba para acertar sobre los que de verdad tiene que acertar (la probabilidad de etiquetar como enfermos a aquellos que verdaderamente están enfermos). La especificidad es una medida que nos indica cuánto nos hemos equivocado con los «unos» (la probabilidad de etiquetar enfermos a pacientes sanos). Una forma de medir cuánto acertamos y cuánto nos equivocamos con nuestra prueba. Para analizar el comportamiento de nuestra prueba diagnóstica, debemos determinar un punto de corte. Para ilustrar cómo seleccionar el mejor punto de corte, vamos a emplear unos datos sacados de la web de bioestadística del Hospital Ramón y Cajal y vamos a elaborar una curva ROC con R y ggplot2. ...

5 de febrero de 2014 · rvaquerizo

Jornadas de R gratuitas en Galicia

Buena iniciativa en la que seguro que algún lector está interesado: http://www.galpon.org/content/2a-xornada-dos-sabados-libres-na-altamar-estatistica-con-r-i En este enlace podéis ver con más detalle el contenido del curso. Saludos.

4 de febrero de 2014 · rvaquerizo

Espacios en SAS

Las funciones SAS más habituales para eliminar blancos son las que tenéis en la figura de arriba. Para llegar a ese conjunto de datos SAS, hemos ejecutado el siguiente paso DATA: data ejemplo; st = " Cuando brilla el sol "; l_st = length(st); output; funcion = "COMPRESS"; st1 = compress(st); l_st1 = length(st1); output; funcion = "COMPBL"; st1 = compbl(st); l_st1 = length(st1); output; funcion = "TRIM"; st1 = trim(st); l_st1 = length(st1); output; funcion = "TRIMN"; st1 = trimn(st); l_st1 = length(st1); output; funcion = "STRIP"; st1 = strip(st); l_st1 = length(st1); output; funcion = "STRIP+COMPBL"; st1 = strip(compbl(st)); l_st1 = length(st1); output; run; Distintas formas de eliminar espacios dentro de una cadena de caracteres en SAS. Partimos de la variable string « Cuando brilla el sol » y empleamos las siguientes funciones: ...

14 de enero de 2014 · rvaquerizo

Análisis del discurso de navidad del Rey de España 2013

Me llena de orgullo y satisfacción mostraros un ejemplo de uso de la librería wordcloud para la realización de nubes de palabras con R. Esta entrada no es muy innovadora, porque ya tenemos alguna similar en el blog. Lo primero que tenéis que hacer es descargaros el discurso del Rey y ejecutad este código: # Lectura del archivo ubicacion <- "C:\\temp\\juancar.txt" texto_df <- read.table(ubicacion, sep = "\r") # Dejamos todas las palabras en mayúsculas texto <- toupper(texto_df$V1) # El texto lo transformamos en una lista separada por espacios texto_split <- strsplit(texto, split = " ") # Deshacemos esa lista y tenemos el data.frame texto_col <- as.character(unlist(texto_split)) texto_col_df <- data.frame(V1 = texto_col) # Eliminamos algunos caracteres regulares texto_col_df$V1 <- gsub("([[:space:]])", "", texto_col_df$V1) texto_col_df$V1 <- gsub("([[:digit:]])", "", texto_col_df$V1) texto_col_df$V1 <- gsub("([[:punct:]])", "", texto_col_df$V1) # Creamos una variable longitud de la palabra texto_col_df$largo <- nchar(texto_col_df$V1) # Quitamos palabras cortas texto_col_df <- subset(texto_col_df, largo > 4) # Nube de palabras # install.packages('wordcloud') library(wordcloud) library(RColorBrewer) pesos <- data.frame(table(texto_col_df$V1)) # Paleta de colores pal <- brewer.pal(6, "RdYlGn") # Realizamos el gráfico png('C:\\temp\\Discurso del rey españa 2013.png', width = 500, height = 500) wordcloud(pesos$Var1, pesos$Freq, scale = c(4, .2), min.freq = 2, max.words = Inf, random.order = FALSE, colors = pal, rot.per = .15) dev.off() Interesante el uso de la librería RColorBrewer. Particularmente me gusta mucho el resultado que nos da wordcloud para la realización de las nubes de palabras con una sintaxis sencilla. Considero imprescindible el uso de random.order = FALSE. Espero que os sea de utilidad. ...

26 de diciembre de 2013 · rvaquerizo

Seleccionar un elemento de un objeto de R

Quedarnos con un elemento específico de un objeto en R. Viene de una duda planteada por un lector que surgía a raíz de un post dedicado al $p$-valor y al tamaño muestral. José Ignacio desea almacenar en un objeto el $p$-valor asociado a un test de Wald para la independencia entre los niveles de un factor. Una sugerencia para poder trabajar con este elemento: y <- c(rep(1, 200), rep(0, 100)) x <- c(rep(1, 32), rep(0, 168), rep(1, 15), rep(0, 85)) datos <- data.frame(y, x) table(datos) modelo.1 <- glm(y ~ x, data = datos, family = binomial) summary(modelo.1) Para la realización del test de Wald con R vamos a emplear la librería lmtest: ...

23 de diciembre de 2013 · rvaquerizo

El mejor gestor de datos del mundo es de Cádiz

Me ha gustado esta noticia de Elconfidencial.com: http://www.elconfidencial.com/tecnologia/2013-12-19/un-matematico-andaluz-desconocido-es-el-mejor-cientifico-de-datos-del-mundo_67675/. Resulta que José Antonio Guerrero es el número uno en Kaggle. Mirad que paso rato yo por Kaggle y no me había dado cuenta nunca de esto. He de confesaros que esta noticia me ha emocionado. Por cierto, si visitáis el perfil de José Antonio, entre sus skills está R y en la foto está trabajando con Excel. Un personaje excepcional.

19 de diciembre de 2013 · rvaquerizo

Cuidado con el p-valor. Depende del tamaño de la muestra

El otro martes, Teresa, mi profesora de la Facultad de Estudios Estadísticos, dijo una frase que me dejó helado: «Ojo con el p-valor porque depende del tamaño muestral». Estábamos estudiando regresión logística y tests de independencia. Ahora que uno mismo vuelve a estudiar qué es lo que hay detrás de la salida de los programas estadísticos, se plantean muchas dudas. Por definición, el p-valor depende del tamaño muestral y es una medida que la tomamos como un axioma para todo: el p-valor nunca miente hasta que tenemos mucha exposición. Voy a utilizar un ejemplo que vi en clase con Teresa ligeramente retocado (no creo que se enfade, no creo ni que lea esto). Trabajo con SAS porque estoy más acostumbrado a la salida que ofrece. Se trata de realizar un test de independencia para una tabla 2x2. La $H_0$ o hipótesis nula es que existe independencia entre el factor de nuestro estudio y la variable dependiente; en nuestro caso, $H_0$ es «no hay relación entre la utilización de un pesticida y la presencia de una enfermedad», frente a $H_1$, «hay relación entre la utilización del pesticida y la presencia de la enfermedad». Simulamos los datos con SAS: ...

17 de diciembre de 2013 · rvaquerizo