Hola compañeros de la lista. Tengo el análisis que muestro abajo, para la estimación de la Dosis Letal Media (DL50) por medio de regresión logística, de dos compuestos similares (denominados 1 y 2) aplicados a grupos de individuos similares, evaluando el número de individuos vivos y muertos al final del ensayo. Mi duda es qué forma me recomiendan para determinar si la diferencia es significativa entre las DL50's estimadas para cada compuesto. De antemano muchas gracias por su ayuda. ---------------------------------------------------------------------- Código: datos.1 = data.frame( dosis.1 = c(1,10,10,10,50,50,50,100,100,100,1000,1000,1000), vivos.1 = c(20,20,20,20,19,14,15,5,3,2,0,0,0), muertos.1 = c(0,0,0,0,1,6,5,15,17,18,20,20,20) ) datos.2 = data.frame( dosis.2 = c(1,10,10,10,50,50,50,100,100,100,1000,1000,1000), vivos.2 = c(20,18,18,18,7,6,6,1,1,2,0,0,0), muertos.2 = c(0,2,2,2,13,14,14,19,19,18,20,20,20) ) attach(datos.1) attach(datos.2) y1 = cbind(vivos.1,muertos.1) y2 = cbind(vivos.2,muertos.2) modelo.logistico.1 = glm(y1~log(dosis.1),binomial) modelo.logistico.2 = glm(y2~log(dosis.2),binomial) library(MASS) log.LD50.1 <- dose.p(modelo.logistico.1,p=0.5) log.LD50.2 <- dose.p(modelo.logistico.2,p=0.5) log.LD50.1 log.LD50.2 LD50.1 <- exp(log.LD50.1[1]) LD50.2 <- exp(log.LD50.2[1]) LD50.1 LD50.2 -- Argel.
H ola Argel, Muchisimas gracias por los datos y el codigo! ;-) Una forma es hacer bootstrap. En http://www.mayin.org/ajayshah/KB/R/documents/boot.html hay una corta introduccion. Seria algo similar a lo siguiente: d <- LD50.1 - LD50.2 # diferencia real d #p = 0.5: #37.31248 # ------------ # bootstrap # ------------ B <- 1000 # numero de muestras bootstrap d.sample <- replicate(B, { i <- sample(NROW(y1), NROW(y1), TRUE) datos.1.i <- datos.1[i, ] datos.2.i <- datos.2[i, ] y1 = with(datos.1.i, cbind(vivos.1,muertos.1)) y2 = with(datos.2.i, cbind(vivos.2,muertos.2)) modelo.logistico.1 = glm(y1 ~ log(dosis.1),binomial, data = datos.1.i) modelo.logistico.2 = glm(y2 ~ log(dosis.2),binomial, data = datos.2.i) log.LD50.1 <- dose.p(modelo.logistico.1,p = 0.5) log.LD50.2 <- dose.p(modelo.logistico.2,p = 0.5) LD50.1 <- exp(log.LD50.1[1]) LD50.2 <- exp(log.LD50.2[1]) LD50.1 - LD50.2 }) d.sample <- as.numeric(d.sample) d.sample hist(d.sample, breaks = 20, las = 1) abline(v = d, col = 2, lty = 2) # es la diferencia estadisticamente diferente de cero? 1 - mean(d.sample > 0) # 0 ---> la diferencia es estadisticamente diferente de cero Saludos, Jorge.- 2013/7/23 Argel Gastélum Arellánez <argel.gastelum@gmail.com>> Hola compañeros de la lista. > > Tengo el análisis que muestro abajo, para la estimación de la Dosis > Letal Media (DL50) por medio de regresión logística, de dos compuestos > similares (denominados 1 y 2) aplicados a grupos de individuos similares, > evaluando el número de individuos vivos y muertos al final del ensayo. Mi > duda es qué forma me recomiendan para determinar si la diferencia es > significativa entre las DL50's estimadas para cada compuesto. > > De antemano muchas gracias por su ayuda. > > ------------------------------**------------------------------**---------- > Código: > > datos.1 = data.frame( > dosis.1 = c(1,10,10,10,50,50,50,100,100,**100,1000,1000,1000), > vivos.1 = c(20,20,20,20,19,14,15,5,3,2,**0,0,0), > muertos.1 = c(0,0,0,0,1,6,5,15,17,18,20,**20,20) > ) > > datos.2 = data.frame( > dosis.2 = c(1,10,10,10,50,50,50,100,100,**100,1000,1000,1000), > vivos.2 = c(20,18,18,18,7,6,6,1,1,2,0,0,**0), > muertos.2 = c(0,2,2,2,13,14,14,19,19,18,**20,20,20) > ) > > attach(datos.1) > > attach(datos.2) > > y1 = cbind(vivos.1,muertos.1) > > y2 = cbind(vivos.2,muertos.2) > > modelo.logistico.1 = glm(y1~log(dosis.1),binomial) > > modelo.logistico.2 = glm(y2~log(dosis.2),binomial) > > library(MASS) > > log.LD50.1 <- dose.p(modelo.logistico.1,p=0.**5) > > log.LD50.2 <- dose.p(modelo.logistico.2,p=0.**5) > > log.LD50.1 > > log.LD50.2 > > LD50.1 <- exp(log.LD50.1[1]) > > LD50.2 <- exp(log.LD50.2[1]) > > LD50.1 > > LD50.2 > > -- > > Argel. > > ______________________________**_________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/**listinfo/r-help-es<https://stat.ethz.ch/mailman/listinfo/r-help-es> >[[alternative HTML version deleted]]
Hola Jorge, qué tal. Wow!... interesante forma de analizarlo por bootstrap. No sé si lo estoy entendiendo bien, entonces... ¿La última línea se puede interpretar como si fuera un valor de p? Cuando analizo datos en los que no debería haber diferencia significativa, por tratarse de dos ensayos similares pero con el mismo compuesto, me resulta un valor 1 - mean(d.sample > 0) = 0.52 ¿Podría decirse que cuando no hay diferencia significativa entre ambas DL50's el resultado de esta línea debería ser mayor de 0.05? De antemano muchas gracias por la aclaración. -- Argel. El 22/07/13 20:24, Jorge I Velez escribió:> H > ola Argel, > > Muchisimas gracias por los datos y el codigo! ;-) > > Una forma es hacer bootstrap. En > http://www.mayin.org/ajayshah/KB/R/documents/boot.html hay una corta > introduccion. > > Seria algo similar a lo siguiente: > > d <- LD50.1 - LD50.2 # diferencia real > d > #p = 0.5: > #37.31248 > > # ------------ > # bootstrap > # ------------ > B <- 1000 # numero de muestras bootstrap > d.sample <- replicate(B, { > i <- sample(NROW(y1), NROW(y1), TRUE) > datos.1.i <- datos.1[i, ] > datos.2.i <- datos.2[i, ] > y1 = with(datos.1.i, cbind(vivos.1,muertos.1)) > y2 = with(datos.2.i, cbind(vivos.2,muertos.2)) > modelo.logistico.1 = glm(y1 ~ log(dosis.1),binomial, data = datos.1.i) > modelo.logistico.2 = glm(y2 ~ log(dosis.2),binomial, data = datos.2.i) > log.LD50.1 <- dose.p(modelo.logistico.1,p = 0.5) > log.LD50.2 <- dose.p(modelo.logistico.2,p = 0.5) > LD50.1 <- exp(log.LD50.1[1]) > LD50.2 <- exp(log.LD50.2[1]) > LD50.1 - LD50.2 > }) > d.sample <- as.numeric(d.sample) > d.sample > > hist(d.sample, breaks = 20, las = 1) > abline(v = d, col = 2, lty = 2) > > # es la diferencia estadisticamente diferente de cero? > 1 - mean(d.sample > 0) > # 0 ---> la diferencia es estadisticamente diferente de cero > > Saludos, > Jorge.- > > > > 2013/7/23 Argel Gastélum Arellánez <argel.gastelum@gmail.com > <mailto:argel.gastelum@gmail.com>> > > Hola compañeros de la lista. > > Tengo el análisis que muestro abajo, para la estimación de la > Dosis Letal Media (DL50) por medio de regresión logística, de dos > compuestos similares (denominados 1 y 2) aplicados a grupos de > individuos similares, evaluando el número de individuos vivos y > muertos al final del ensayo. Mi duda es qué forma me recomiendan > para determinar si la diferencia es significativa entre las DL50's > estimadas para cada compuesto. > > De antemano muchas gracias por su ayuda. > > ---------------------------------------------------------------------- > Código: > > datos.1 = data.frame( > dosis.1 = c(1,10,10,10,50,50,50,100,100,100,1000,1000,1000), > vivos.1 = c(20,20,20,20,19,14,15,5,3,2,0,0,0), > muertos.1 = c(0,0,0,0,1,6,5,15,17,18,20,20,20) > ) > > datos.2 = data.frame( > dosis.2 = c(1,10,10,10,50,50,50,100,100,100,1000,1000,1000), > vivos.2 = c(20,18,18,18,7,6,6,1,1,2,0,0,0), > muertos.2 = c(0,2,2,2,13,14,14,19,19,18,20,20,20) > ) > > attach(datos.1) > > attach(datos.2) > > y1 = cbind(vivos.1,muertos.1) > > y2 = cbind(vivos.2,muertos.2) > > modelo.logistico.1 = glm(y1~log(dosis.1),binomial) > > modelo.logistico.2 = glm(y2~log(dosis.2),binomial) > > library(MASS) > > log.LD50.1 <- dose.p(modelo.logistico.1,p=0.5) > > log.LD50.2 <- dose.p(modelo.logistico.2,p=0.5) > > log.LD50.1 > > log.LD50.2 > > LD50.1 <- exp(log.LD50.1[1]) > > LD50.2 <- exp(log.LD50.2[1]) > > LD50.1 > > LD50.2 > > -- > > Argel. > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org <mailto:R-help-es@r-project.org> > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Reasonably Related Threads
- Comparación entre dos DL50's
- anova medidas repetidas con lme
- Predicción de valor máximo en superficie de respuesta, con paquete rsm
- Encontrar las variables más importantes en componentes principales
- matrix inversion using solve() and matrices containing large/small values