У мене є набір даних, що містить декілька пропорцій, які складають до 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) glms, як я можу включити обмеження, що передбачувані значення дорівнюють 1? Я не хочу лише будувати такі дані, я також хочу зробити більш глибоку регресію, як аналіз. Я бажаю використовувати R - як це зробити в R?
proprcspline
в Stata може бути тим, що ви шукаєте (я знаю, що ви хочете використовуватиR
, але, можливо, це може бути відправною точкою): proprcspline обчислює обмежений кубічний сплайн з рівнем пропорцій спостережень у кожній категорії yvar, що дається xvar, і графік їх як складений графік площі. Необов'язково, ці згладжені пропорції можна регулювати для набору контрольних змінних (cvars).