Módulo 5 - Dudas

Escriba aquí cualquier duda que tenga sobre el curso

hHla!tengo una duda en el modulo 5 , test de cuidando las coronarias. No se cómo calcular el valor crítico Z con el que comparar los estadísticos según Bonferroni o según Sidak. No lo encuentro en los apuntes, o no lo entiendo muy bien.
Muchas gracias por vuestra ayuda. un saludo

Imagen de hector.rufino

Hola Lara,

En los apuntes, en los puntos 1.4.1 y 1.4.2 explica como obtener el riesgo alfa individual al que se tiene que someter cada una de las pruebas, según ambos criterios. Lo que no explica es como obtener el valor critico de Z, tienes razón.

En este caso, se realiza una prueba bilateral. Recuerda, de capítulos anteriores, que el valor crítico Z es aquel que deja una cola superior, de una distribución Normal, de probabilidad alfa/2 (ya que es una prueba bilateral).

Es decir, una vez hayas calculado el alfa individual, tienes que buscar en una distribución Normal el valor que deja una probabilidad a la derecha de alfa/2. Con R: qnorm(alfa/2 , lower.tail=FALSE)

Espero que te sirva de ayuda. No dudes en consultar cualquier otra duda o ponerte en contacto con nosotros si no entiendes algún punto.

Atentamente,

Hector.

Hola, muchas gracias ya pude completar el ejercicio. Tengo otra duda, esta vez para instalar el paquete groupseq y poder hacer el ejercicio. al poner en R library (GroupSeq) no se abre ninguna interfaz, y si pongo groupseq() solo pone o loading required package: tcltk
y no se como seguir...muchas gracias

Imagen de joseantonio

Hola,
¿nos podrías decir: a) qué SO usas, b) qué versión de R, c) una copia de la salida que obtienes al hacer library(GroupSeq) ?

Gracias, un dominical saludo

esto es lo que me aparece:
> install.packages ('GroupSeq')
Installing package into ‘C:/Users/Lara/Documents/R/win-library/3.0’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/bin/windows/contrib/3.0/GroupSeq_1.3.2.zip'
Content type 'application/zip' length 70184 bytes (68 Kb)
opened URL
downloaded 68 Kb

package ‘GroupSeq’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
C:\Users\Lara\AppData\Local\Temp\Rtmpe0ys0v\downloaded_packages
> library (GroupSeq)
Loading required package: tcltk

la versión de R es i386 3.0.2

ok. no os preocupeis, ya me ha salido. gracias

Hola otra vez. en el test de ensayo secuencial, no se bien cómo calcular la pregunta 4 (el error de tipo I gastado hasta el análisis número 1 suponiendo que los análisis intermedios y el final se realizaron en los meses de estudio: 4, 5) y la pregunta 8 (la probabilidad de que la parada 2 no salga significativa si tampoco salió significativa la parada 1 y el tratamiento es inefectivo?)
gracias

Imagen de jordi.cortes

Hola Lara,

Contesto a tus dudas:

- Pregunta 4. La diferencia con las anteriores cuestiones es que los análisis intermedios, en este caso, no son equidistantes en el tiempo. Esto lo has de especificar desmarcando la opción "Equally Spaced Times" que te aparece en el menú y luego añadiendo tus tiempos pero estandarizados para que estén entre 0 y 1. Para estandarizarlos, debes dividir todos tus tiempos por el tiempo mayor. Así, en el enunciado que propones, los valores 4 y 5 los deberías dividir por 5 y te quedaría 0.8 y 1 que serán los valores que deberás introducir en la ventana.

- Pregunta 8. La probabilidad de error de Tipo I es la probabilidad de obtener un resultado significativo cuando realmente no existen diferencias (es decir, considerar un tratamiento eficaz cuando no lo es). En esta cuestión, te preguntan justamente por el complementario (probabilidad de decir que el tratamiento es inefectivo cuando realmente lo es). La probabilidad de error de tipo I puntual para un análisis intermedio concreto la tienes puesta en la quinta columna de la tabla que te proporciona el groupseq. Lo único que has de hacer es calcular el complementario de esta probabilidad.

Saludos.

ok. muchas gracias por tu ayuda, ya me ha salido. LLego ahora al problema dificil del meta-análisis con respuesta cuantitativa. Necesito usar R para hacer este problema??o puedo calcularlo con las fórmulas del tema 15?me parece complicadísimo....lo primero que tengo que hacer es calcular w y no se cómo hacerlo, creo que 1/v? y luego calcular d? gracias......

Imagen de joseantonio

Mi consejo es que uses R porque, pasadas las dificultades iniciales, todo te será más fácil. En realidad, no deberías prever ningún problema más complicado que lo que ya has hecho. Te instalas el paquete 'metafor', y sigues las instrucciones del manual. Quizá te aconsejaría que tuvieras cuidado cuando leas los datos. Hazlo como te sea más sencillo (por fichero, por portapapeles, ..., lo que prefieras). Si observas que las funciones de metafor no responden según lo esperado, quizá no se han leido bien los datos. Aunque también has de tener en cuenta los parámetros correctos (al ser una respuesta cuantitativa, trabajarás con la diferencia de medias, o con la diferencia de medias estandarizada: vigila).

Para responder algo concreto: mírate el ejemplo de la página 20. Los pesos de cada estudio los puedes hallar con esta instrucción, después de haber computado las 'yi' y las 'vi':
W = 1/res$vi

Se supone que 'res' es el resultado de la función rma(), claro.

Si tienes más dudas, aquí estamos para ayudarte.

no me deja instalar GroupSeq...
utilizo un mac OS X versión 10.5.8
la versión de R es 0.95.265
cuando intento ejecutar la instalación me sale:
'Warning in install.packages :
package ‘ GroupSeq’ is not available (for R version 2.15.3)'
y cuando intento actualizar la versión de R no me deja, porque la siguiente versión es para 10.6+
que puedo hacer??

lo he conseguido instalar finalmente :)

Mi duda de siempre . ¿Como tengo que llamar a la variable de orden de aplicación de los medicamentos en R estudio?

Imagen de hector.rufino

Hola,

La variable de orden se encuentra dentro de un data.frame junto al resto de variables. Si has seguido los pasos de e-status, este data.frame se llama "datos".

Para acceder a cualquiera de las variables que se encuentran dentro de un data.frame se usa el símbolo $ seguido del nombre de la variable. En este caso, para acceder a la variable de orden pondríamos la siguiente instrucción, datos$Orden.

Espero que te sirva de ayuda,

Atentamente,

Hector.

Hola
Sigo sin conseguir que Restudio me admita el nombre de la variable. he probado de múltiples formas y no sale , solo me admite las variables cuando no le añado el orden(d1=datos$C-datos$N), pero creo que el resultado no sale correcto.Si le añado datos$Orden (d1=datos$C_datos$OrdenC~N-datos$N_datos$OrdenC~N) me sale "Error in as.data.frame.default(data) :
cannot coerce class ""formula"" to a data.frame" y otras veces "Error in t.test.default(d1, d2, var.equal = TRUE) :
not enough 'x' observations". La verdad que a parte de entender el proceso en sí cuesta adaptarse al Restudio.

Imagen de hector.rufino

Hola,

Si no entiendo mal, lo que quieres es realizar la diferencia entre ambos medicamentos únicamente para un orden en concreto. Bien, eso se consigue de la siguiente forma: si se quiere la diferencia para el orden C-N lo indicaremos así, datos$C[datos$Orden=="C-N"] - datos$N[datos$Orden=="C-N"]

Los corchetes nos permiten especificar que parte o partes del vector queremos utilizar, en este caso le estamos indicando que de los datos$C sólo queremos aquellos valores en los que el orden ha sido C-N.
Espero que esto te ayude.

Hector.

Gracias Hector ya lo he resuelto. ¿No habría forma de saber como dar las instrucciones en Restudio? Yo me guio por los ejemplos, pero en este tema en los ejemplos ,los datos se cargan de data. frame ya hechas y las instrucciones no coincidían . ¿De donde han salido eses == que me ha vuelto loca?
un saludo y perdona la guerra que os doy

Imagen de hector.rufino

Hola de nuevo,

Me alegro que hayas podido resolver el ejercicio. No te preocupes por preguntar, nos gusta poder ayudaros y saber dónde os quedáis atascados, así que no dudes en preguntar todas las dudas que tengas.

La verdad es que R da mucho de sí y, aunque haya manuales muy buenos, siempre salen cosas nuevas. Recuerda que en la página web del curso tienes dos manuales que están muy bien para iniciarse en R. Se encuentran en el apartado R del menú.

Te explico un poco de donde sale el doble igual. Cuando trabajamos con un data.frame podemos referirnos a una parte de él que cumpla una cierta condición de dos maneras diferentes:

1) mediante los corchetes, [ ]: los corchetes unidos a un data.frame nos permiten, entre otras cosas, indicar las condiciones que queremos que cumplan los datos. Al indicar datos$C[datos$Orden=="C-N"] le estamos diciendo que queremos los valores que se encuentra en la variable C, pero solo aquellos en el que el orden es "C-N". El hecho de poner dos iguales y no uno es porque en R si solo se pone un igual lo lee como una asignación, no como una condición lógica, y el resultado no seria correcto.

2) mediante un subset(): la función subset() nos permite seleccionar un parte de los datos que cumplan una cierta condición. Si se pone en R subset(datos$C , Orden=="C-N") tiene el mismo efecto que lo escrito en 1).

Como veras, yo te he comentado el primer caso porque es el que primero me ha venido a la cabeza, pero puedes probar el segundo modo, si te es más claro, y te tiene que dar bien.

Hector.

Gracias Hector. La verdad es que despues de explicado , se ve más lógico .Intentaré hacer más pruebas

Hola
No consigo instalar el paquete forest plot . Estaba con la version 3.0.2 y tanto en R como en RStudio me dice que no se puede instalar en esa versión. He actualizado las versiones, es decir en 3.1.2 y me dice lo mismo. ¿Con que versión trabajo?

Imagen de nerea.bielsa

Hola,
podrías decirme en qué capítulo te encuentras?
Que yo sepa no hay ningún paquete que se llame forest plot; sí que hay una función llamada forest(), pero se utiliza mediante el paquete "metafor".
Prueba de instalarlo y, si tu intención era hacer un forestplot, tendrás que instalar y cargar el paquete, crear un modelo ajustado por rma y pedrile forest(modelo).
Si no te funciona no dudes en comunicarnoslo.
Saludos,
Nerea

Hola
Estoy en el capitulo 15. Efectivamente no era un paquete era una función. Estoy un poco desentrenada, por el paréntesis vacacional. Ahora ya puedo seguir , Gracias .
Aprovecho para comentar otra duda. Si no introdujera la read .table(url........para cargar los datos del tacrine en RStudio ¿como los metería? To
Un saludo
Carmen

Imagen de nerea.bielsa

Buenos días!
No te preocupes, al principio todos tenemos fallos.
Existen muchas maneras de introducir los datos;
una de ellas, por ejemplo es copiarlos a Excel y guardarlos como csv, por ejemplo datos.csv, luego, mediante esta comanda se leen en R: data=read.csv2("datos.csv");
otra posibilidad es introducir los datos manualmente (no te la recomiendo ya que se pierde mucho tiempo);
si por ejemplo, se tienen los datos en un fichero .txt se leen los datos desde el directorio que los contiene: data <- read.table("F:/Minería de datos/25.09.14/datos.txt",header=T)
Como ves, hay muchas alternativas; lo que siempre hay que tener en cuenta es fijar el directorio que contiene el archivo de datos con el que se va a trabajar. Si se trabaja con R hay que ir a la pestaña file, luego Change dir y ya aparece la ventana que permite buscar la carpeta que se quiera fijar ocmo directorio. Si se trabaja con RStudio hay que ir a la pestaña Session, clikar a Set Working directory y luego a Choose directory y ya se abrirá la ventana para bsucar las carpeta.
Saludos!
Nerea

Hola
Aqui estoy estancada con el problema del tema 15. He cargado bien la tabla (despues de un poco de lío),pero soy incapaz de usar la función escalc ,ya que en los ejemplos salen uns nombres que no sé de donde vienen y a la hora de meter nuevos datos no sé como llamarlos. En el ejemplo viene esta orden: dat.ocu<- escalc(measure="OR",ai=nt, n1i=Nt,ci=nc,n2i=Nc, data=ocupa, append=TRUE) ¿De donde ha salido la ai, n1i, ci y n2i? Si yo quiero aplicarlo a las variables de mi problema , es decir , a nt, Xt,St, np, Xp y Sp ¿ Como las tendría que llamar?
Por otro lado, el yi y vi ¿Son comunes para todos los estudios o solo para este ejemplo?. La verdad es que me resulta dificil explicarme
Un saludo
Carmen

Imagen de nerea.bielsa

Hola Carmen,
los nombres ai, n1i, ci y n2i son los nombres que lleva implementados la función para pasarle los parámetros. No son nombres que se puedan elegir. Para pasarle las variables que tú quieres se tiene que escribir como en el ejemplo, es decir, a cada uno de los nombres de esos parámetros le asignas una de las variables (la que le corresponda). Si tú escribes ai=nt le estás diciendo que lo que dentro de la función está implementado como ai tiene que trabajar con la variable nt. No sé si me estoy explicando....
Finalmente, no acabo de entender a qué te refieres cuando dices si el yi y el vi son comunes. Miden cosas diferentes: yi representa el log(OR) para cada estudio y vi es la variancia de dicha estimación.

Saludos,
Nerea

Hola Nerea
Con respecto a yi y vi , me refería si eran nombres arbitrarios del log(OR) y varianza para ese estudio en concreto o si se llaman asi en todos los estudios, pero ya me lo has aclarado, por lo que entiendo se llaman asi en todos.
En cuanto a la primera parte he probado con esos nombres ai=nt, n1i=Xt, ci=St, n2i= np, pero me faltan las otras dos variables ,Xp y Sp ya que en este caso son 6 frente a los 4 del ejemplo. Poe ejemplo :dat.csv <-escalc(measure = "OR", ai = nt, n1i = Xt, ci = St, n2i = np, ?=Xp, ?=Sp ,data =csv, append = TRUE)
Ya lo he comentado en otros módulos, pero es como si fuera analfabeta con respecto al lenguaje de Rstudio.
Gracias por la paciencia
Carmen

Imagen de nerea.bielsa

Hola Carmen,
R no es fácil, y alcanzar tu nivel actual en poco tiempo no es de personas analfabetas, créeme.
Verás, a la función escalc(...) se le pueden pasar muchos parámetros. En el ejemplo solo salen 4 porque solo se necesitan esos 4, pero en tu ejercicio se necesitan más; si miras en la ayuda de R (http://127.0.0.1:16040/library/metafor/html/escalc.html) verás que aparece explicado a qué equivale cada parámetro.
Sé que puede parecer complicado entender la ayuda de R, pero no lo es en absoluto.
Dime en qué ejercicio te encuentras para saber a qué equivalen las variables nt, Xt, St, np, Xp y Sp y te digo a qué parámetro corresponde cada una de las variables; he estado buscando el ejercicio en el capítulo 15 y no lo encuentro.
Saludos,
Nerea.

Hola Nerea
El problema es "Meta-análisis con respuesta cuantitativa" del tema 15
Mientras me contestas, me voy a mirar la ayuda de Rstudio
Un saludo y Gracias
Carmen

No consigo acceder a la ayuda con ese link

Hola Nerea
Ya he accedido a la ayuda del paquete Metafor através de Rstudio. A ver si he entendido bien ,¿los parámetros que tengo que utilizar serían ai,bi,n1i,ci,di y n2i ?, es decir, ai=Xt, bi=St, n1i=nt, ci=Xp, di=Sp y n2i=np o ¿ tendría que seguir el orden lógico ai=nt, bi=Xt, n1i=St, ci=np, di=Xp, n2i=Sp?
Vaya lio!!!!

Imagen de nerea.bielsa

Tienes que mirar que las variables que se utilizan en el ejercicio correspondan a las definiciones de los parámetros que aparecen en la ayuda de R:
n1i vector to specify the group sizes or row totals (first group/row). (vector que contiene los tamaños de cada ensayo clínico del grupo de intervención)
n2i vector to specify the group sizes or row totals (second group/row). (vector que contiene los tamaños de cada ensayo clínico del grupo de control)
m1i vector to specify the means (first group or time point). (vector que contiene las medias de los diferentes ensayos del grupo de intervención)
m2i vector to specify the means (second group or time point). (vector que contiene las medias de los diferentes ensayos del grupo de control)
sd1i vector to specify the standard deviations (first group or time point). (vector que contiene las desviaciones de los diferentes ensayos del grupo de intervención)
sd2i vector to specify the standard deviations (second group or time point). ((vector que contiene las desviaciones de los diferentes ensayos del grupo de control)

En el parámetro "measure" tienes que ponerle MD, ya que la medida con la que quieres trabajar es la diferencia de medias, en data el data frame donde has guardado los datos del e-status, y el append no es importante, ya que solo te permite decidir si quieres que se muestren todos las variables Xt, nt, St, Xp, np, Sp, yi y vi (append=TRUE), o que solo muestre Yi y vi (append=FALSE).

data.md = escalc(measure="MD", n1i=nt, m1i=Xt, sd1i=St, n2i=np, m2i=Xp, sd2i=Sp, data=as.data.frame(data), append=TRUE)

Si hay alguna otra función que no acabas de entender no dudes en escribirnos.
Saludos!
Nerea

Hola Nerea
Poco a poco voy entendiendolo, gracias, pero sigue sin salirme . Le he escrito la instruccion de mil formas y me dice: Error in eval(expr, envir, enclos) : object 'Xt.' not found. Seguramente no se lo escribo bien , la data.frame es data¿no? ¿hay que poner tambien as? , es decir data=as.data?
Un saludo
Carmen

Imagen de nerea.bielsa

Hola Carmen,
Este error "Error in eval(expr, envir, enclos) : object 'Xt.' not found." lo que te indica es que la función escalc no encuentra alguna de las variables que le has pasado para que coja como paramétros, es decir, como muy bien has sabido ver, el problema está en la base de datos, que lo la encuentra y, en consecuencia, tampoco encuentra las variables contenidas en ésta.

prueba de ponerselo del siguiente modo:
basedatos<-read.table('clipboard') #esto son los datos que copio desde Minitab en un nuevo data.frame. Decido llamar a este data.frame "basedatos".

dat.ma = escalc(measure="MD", m1i=Xt, sd1i=St, n1i=nt, m2i=Xp, sd2i=Sp, n2i=np, data=basedatos, append=FALSE) #en la parte de data le pones el nombre del data.frame donde tienes guardados los datos, en este caso, tienes que ponerle "basedatos".

Si de este modo sigue sin funcionar escríbenos.
Saludos,
Nerea

Hola Nerea
No soy capaz. Supongo que tiene que ver con que el curso lo empecé el año pasado y ha habido un paréntesis de verano que me ha descolocado un poco. Llevo toda la semana inténtandolo y ya no consigo ni guardar los datos y que los lea Rstudio, cada vez está más liada la cosa.. Seguramente se me han olvidado pasos previos, pero importantes. Me voy a repasar los temas previos a ver si veo donde está el problema. La verdad es que nunca me había costado tanto.
Un saludo
Carmen

Ya he conseguido entenderme con RStudio!!!!Por lo menos para leer los datos y ejecutar funciones , ahora me queda resolver las cuestiones del problema propiamente.
Gracias
Carmen

Imagen de nerea.bielsa

Hola Carmen,
tienes una muy buena actitud y un muy buen método de estudio, da gusto tener alumnos así.
En cuanto al problema, prueba de escribirlo tal y como te lo puse en el mensaje anterios, es decir:
Copias los datos en e-status y escribe en R lo siguiente:
basedatos<-read.table('clipboard')
dat.ma = escalc(measure="MD", m1i=Xt, sd1i=St, n1i=nt, m2i=Xp, sd2i=Sp, n2i=np, data=basedatos, append=FALSE)

Debería funcionarte con estas comandas.
Saludos,
Nerea.

Gracias Nerea
Ha funcionado y he podido resolver el problema
Un saludo
Carmen

Hola,
tengo un problema con el ejemplo de R en el tema 13 pagina 17
Al pasar los datos a R e intentar resolver el problema me sale la siguiente nota:
>d1 = datos$T_G1–datos$P_G1
Error: unexpected input in "d1 = datos$T_G1�"
Creo que el problema está con el símbolo $... Me podríais ayudar? que otra opción tengo para que me haga la resta entre las dos columnas?
Gracias!

Lo he resuelto con >d1 = datos [,1] - datos [,2]