Ho un modello di tempo di guasto accelerato in SAS LIFEREG che vorrei tracciare. Dato che SAS è profondamente pessima per il graficing, mi piacerebbe in realtà rigenerare i dati per le curve in R e tracciarli lì. SAS emette una scala (nel caso della distribuzione esponenziale fissata a 1), un'intercetta e un coefficiente di regressione per essere nella popolazione esposta o non esposta.Generazione/tracciatura di una funzione di sopravvivenza normale del log
Ci sono due curve, una per l'esposta e una per la popolazione non esposta. Uno dei modelli è una distribuzione esponenziale, e ho prodotto i dati ed il grafico in questo modo:
intercept <- 5.00
effect<- -0.500
data<- data.frame(time=seq(0:180)-1)
data$s_unexposed <- apply(data,1,function(row) exp(-(exp(-intercept))*row[1]))
data$s_exposed <- apply(data,1,function(row) exp(-(exp(-(intercept+effect))*row[1])))
plot(data$time,data$s_unexposed, type="l", ylim=c(0,1) ,xaxt='n',
xlab="Days since Infection", ylab="Percent Surviving", lwd=2)
axis(1, at=c(0, 20, 40, 60, 80, 100, 120, 140, 160, 180))
lines(data$time,data$s_exposed, col="red",lwd=2)
legend("topright", c("ICU Patients", "Non-ICU Patients"), lwd=2, col=c("red","black"))
che mi dà questo:
Non il grafico più bella di sempre, ma io non so davvero come aggirare ggplot2 abbastanza da farlo sprizzare. Ma ancora più importante, ho un secondo set di dati che proviene da una distribuzione normale di log, piuttosto che esponenziale, e i miei tentativi di generare i dati per quello sono falliti completamente - l'incorporazione del cdf per la distribuzione normale e simili mette oltre le mie abilità R.
Chiunque è in grado di indicarmi la direzione giusta, usando gli stessi numeri e un parametro di scala di 1?
Quando si utilizza ODS SAS generalmente fornisce curve molto belle. Senza usare SAS Graph non c'è un'opzione in SAS per tracciare curve di sopravvivenza? Potrebbe essere che ci sia un grafico predefinito che sarebbe bello. –
A mio parere, questa domanda rientra nella sovrapposizione SO-CV, ma è più adatta per CV che SO.È una domanda di programmazione, ma ha bisogno di alcune * competenze statistiche * per rispondere, e quindi appartiene al CV come da CV [faq] (http://stats.stackexchange.com/faq). – jthetzel
@MichaelChernick Per quanto posso dire, LIFEREG può produrre una trama * hazard * e alcuni grafici diagnostici, ma non una funzione di sopravvivenza. Per essere onesti, la maggior parte delle persone cerca LIFETEST di produrre normalmente funzioni di sopravvivenza, ma io non sono in questo caso particolare. – Fomite