Mam zestaw danych zawierający wiele proporcji, które sumują się do 1. Jestem zainteresowany zmianą tych proporcji wzdłuż gradientu (patrz na przykład dane poniżej).
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()
Informacje dodatkowe: Nie musi to być koniecznie liniowe, zrobiłem to tylko dla uproszczenia przykładu. Dostępne są również oryginalne liczby, na podstawie których obliczane są te proporcje. Prawdziwy zestaw danych zawiera więcej zmiennych sumujących się do 1 (np. B1, B2 i B3, C1 do C4 itp.) - więc wskazówka dla rozwiązania wielowymiarowego byłaby również pomocna ... Ale na razie będę trzymać się jednowymiarowego strona statystyki.
Pytanie: Jak można analizować tego rodzaju dane? Przeczytałem trochę, a może pasuje model wielomianowy lub glm? - Jeśli uruchomię 3 (lub 2) błyski, jak mogę uwzględnić ograniczenie, że przewidywane wartości sumują się do 1? Nie chcę tylko wykreślać tego rodzaju danych, chcę również przeprowadzić głębszą regresję, taką jak analiza. Wolę używać R - jak mogę to zrobić w R?
proprcspline
w Stacie może być tym, czego szukasz (wiem, że chcesz go użyćR
, ale może to być punkt wyjścia): proprcspline oblicza ograniczony splajn sześcienny gładki proporcji obserwacji w każdej kategorii yvar, biorąc pod uwagę xvar, i przedstawia je w postaci wykresu warstwowego. Opcjonalnie te wygładzone proporcje można dostosować do zestawu zmiennych kontrolnych (cvars).