Ich habe einen Datensatz mit mehreren Anteilen, die sich zu 1 addieren. Ich bin an der Änderung dieser Anteile entlang eines Verlaufs interessiert (siehe unten für Beispieldaten).
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()
Zusätzliche Informationen: Es muss nicht unbedingt linear sein, ich habe dies nur zur Vereinfachung des Beispiels getan. Die ursprünglichen Zählungen, aus denen diese Anteile berechnet werden, sind ebenfalls verfügbar. Der reale Datensatz enthält mehr Variablen, die sich zu 1 addieren (z. B. B1, B2 und B3, C1 bis C4 usw.) - daher wäre auch ein Hinweis für eine multivariate Lösung hilfreich ... Aber im Moment bleibe ich bei der univariaten Seite der Statistik.
Frage: Wie kann man solche Daten analysieren? Ich habe ein bisschen rumgelesen und vielleicht ist ein multinomiales Modell oder ein glm geeignet? - Wenn ich 3 (oder 2) glms ausführe, wie kann ich die Einschränkung berücksichtigen, dass die vorhergesagten Werte 1 ergeben? Ich möchte nicht nur solche Daten zeichnen, sondern auch eine tiefere Regressionsanalyse durchführen. Ich möchte vorzugsweise R verwenden - wie kann ich dies in R tun?
proprcspline
in Stata könnte das sein, wonach Sie suchen (ich weiß, dass Sie ihn verwenden möchtenR
, aber vielleicht könnte dies ein Ausgangspunkt sein): proprcspline berechnet einen eingeschränkten kubischen Spline aus den Proportionen der Beobachtungen in jeder Kategorie von yvar mit xvar und Zeichnet sie als gestapeltes Flächendiagramm. Optional können diese geglätteten Anteile für eine Reihe von Steuervariablen (cvars) angepasst werden.