У меня есть набор данных, содержащий несколько пропорций, которые в сумме составляют 1. Меня интересует изменение этих пропорций вдоль градиента (см. Пример данных ниже).
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()
Дополнительная информация: он не обязательно должен быть линейным, я сделал это только для простоты примера. Также доступны исходные значения, из которых рассчитываются эти пропорции. Реальный набор данных содержит больше переменных, суммирующих до 1 (например, B1, B2 & B3, C1 до C4 и т. Д.), Поэтому подсказка для многомерного решения также будет полезна ... Но сейчас я остановлюсь на одномерном сторона статистики.
Вопрос: Как можно анализировать такие данные? Я прочитал немного вокруг, и, возможно, подходит многочленная модель или GLM? - Если я запускаю 3 (или 2) глянец, как я могу включить ограничение, что прогнозируемые значения в сумме до 1? Я не хочу строить только такие данные, я также хочу провести более глубокую регрессию, такую как анализ. Я предпочтительно хочу использовать R - как я могу сделать это в R?
proprcspline
в Stata может быть то , что вы ищете (я знаю , что вы хотите использоватьR
, но , возможно , это может быть отправной точкой): proprcspline вычисляет ограниченный кубический сплайн сглаживать пропорции наблюдений в каждой категории yvar дается xvar, и Графики их как участок с накоплением площади. По желанию, эти сглаженные пропорции могут быть скорректированы для набора контрольных переменных (cvars).