Ho dati estratti in cui sto tentando di eseguire un'analisi di sopravvivenza, dati di esempio di seguito. n
è un conteggio di unità per ciascun gruppo, tempo, combinazione di indicatori di guasti.Sopravvivenza sui dati in rilievo
> df <- structure(list(group = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("", "A", "B"), class = "factor"), t = c(0L, 1L, 2L, 3L, 1L, 2L, 3L, 0L, 1L, 2L, 3L, 1L, 2L, 3L), failure = c(0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L), n = c(40000L, 30000L, 20000L, 10000L, 5L, 4L, 3L, 20000L, 15000L, 14000L, 11000L, 10L, 6L, 4L)), .Names = c("group", "t", "failure", "n"), row.names = c(NA, 14L), class = "data.frame")
> df
group t failure n
1 A 0 0 40000
2 A 1 0 30000
3 A 2 0 20000
4 A 3 0 10000
5 A 1 1 5
6 A 2 1 4
7 A 3 1 3
8 B 0 0 20000
9 B 1 0 15000
10 B 2 0 14000
11 B 3 0 11000
12 B 1 1 10
13 B 2 1 6
14 B 3 1 4
So che posso rep
df dalla colonna n quindi ogni riga è un'unità: (Rif. How do I create a survival object in R?)
> library(survival)
> df2 <- df[rep(rownames(df),df$n),]
> sfit <- survfit(Surv(t,failure)~group, data = df2)
Tuttavia, il mio dati effettivi ha circa 10 milioni di unità. C'è un modo per sopravvivere con una variabile di conteggio/frequenza per evitare di creare un frame di dati di 10 milioni di righe?
buona risposta a una buona domanda, ma ci dovrebbe essere un avvertimento che non tutte le funzioni di regressione utilizzano i "pesi "parametro allo stesso modo. Questi sono pesi "replicati". –
Sono d'accordo con 42-, non ho trovato la descrizione dei pesi (sotto survfit.formula) utile o: "I pesi devono essere non negativi ed è fortemente raccomandato che siano strettamente positivi, poiché i pesi zero sono ambigui, rispetto all'uso dell'argomento sottoinsieme. " – bigjim