Tengo dos data.frames, uno que contiene datos sin procesar y el otro que contiene coeficientes de modelado que he derivado de los datos sin formato.Superposición de varias llamadas a stat_function en ggplot2
Más detalles: El primer data.frame "raw" contiene "Time" (0s a 900s) y "OD" para muchas variantes y cuatro ejecuciones. El segundo "coef" data.frame contiene una fila por combinación de Variant/run, con los coeficientes individuales ("M", "D.1" y "t0.1") en esa fila.
He trazado la división de datos brutos por Variante y coloreado por runID, no hay problema. Pero ahora quiero superponer las curvas del modelo de acuerdo con el runID.
Dado que los coeficientes de modelado están en un data.frame diferente (con diferentes dimensiones, así que no puedo simplemente conectarlos), stat_function no funcionará para mí. Puedo mostrarme la curva a la vez.
He tratado con a para() {} de bucle, la adición de una capa stat_function cada vez:
p <- ggplot(temp, aes(Time, OD)) + geom_point(aes(colour = runID), size = 2) #works fine!
calc <- function(x){temp.n$M[ID] * (1 - exp(temp.n$D.1[ID] * temp.n$t0.1[ID] - x)))}
for(ID in 1:length(unique(temp.n$runID))) {
p <- p + stat_function(fun = calc)
}
print(p)
Al final, todos los "p" devuelve es la trama de los datos en bruto y la curva final desde el bit de bucle. "p" parece volver a su estado original cada vez que intento agregar una nueva capa "stat_function".
¿Alguna idea?
Quizás la solución más fácil sería fusionar los data.frames. ¿Es eso factible? – DrewConway
¿Puede proporcionar un ejemplo reproducible? El problema es su uso del alcance variable. – hadley