Ho un set di dati contenente più proporzioni che si sommano a 1. Sono interessato al cambiamento di queste proporzioni lungo un gradiente (vedi sotto per i dati di esempio).
gradient <- 1:99
A1 <- gradient * 0.005
A2 <- gradient * 0.004
A3 <- 1 - (A1 + A2)
df <- data.frame(gradient = gradient,
A1 = A1,
A2 = A2,
A3 = A3)
require(ggplot2)
require(reshape2)
dfm <- melt(df, id = "gradient")
ggplot(dfm, aes(x = gradient, y = value, fill = variable)) +
geom_area()
Informazioni aggiuntive: non è necessario che sia necessariamente lineare, l'ho fatto solo per semplicità dell'esempio. Sono disponibili anche i conteggi originali da cui vengono calcolate queste proporzioni. Il set di dati reale contiene più variabili aggiungendo fino a 1 (ad es. B1, B2 e B3, da C1 a C4, ecc.), Quindi sarebbe utile anche un suggerimento per una soluzione multivariata ... Ma per ora mi atterrò sull'univariato lato delle statistiche.
Domanda: come si può analizzare questo tipo di dati? Ho letto un po 'in giro, e forse è adatto un modello multinomiale o un glm? - Se eseguo 3 (o 2) glms, come posso incorporare il vincolo che i valori previsti si sommano a 1? Non voglio solo tracciare questo tipo di dati, voglio anche fare una regressione più profonda come l'analisi. Preferibilmente voglio usare R - come posso farlo in R?
proprcspline
in Stata potrebbe essere quello che stai cercando (so che vuoi usareR
, ma forse questo potrebbe essere un punto di partenza): proprcspline calcola una spline cubica ristretta liscia di proporzioni di osservazioni in ogni categoria di yvar dato xvar, e li rappresenta graficamente come un diagramma ad area in pila. Facoltativamente, queste proporzioni levigate possono essere regolate per un set di variabili di controllo (cvar).