我正在嘗試創建自定義意大利面條情節
假設這是我的資料集
data(package = "geepack")
data("dietox")
head(dietox)
head(dietox, n =20)
Pig Evit Cu Litter Start Weight Feed Time
4601 Evit000 Cu000 1 26.50000 26.50000 NA 1
4601 Evit000 Cu000 1 26.50000 27.59999 5.200005 2
4601 Evit000 Cu000 1 26.50000 36.50000 17.600000 3
4601 Evit000 Cu000 1 26.50000 40.29999 28.500000 4
4601 Evit000 Cu000 1 26.50000 49.09998 45.200001 5
4601 Evit000 Cu000 1 26.50000 55.39999 56.900002 6
4601 Evit000 Cu000 1 26.50000 59.59998 71.700005 7
4601 Evit000 Cu000 1 26.50000 67.00000 86.800001 8
4601 Evit000 Cu000 1 26.50000 76.59998 104.900002 9
4601 Evit000 Cu000 1 26.50000 86.50000 123.000000 10
4601 Evit000 Cu000 1 26.50000 91.59998 140.900002 11
4601 Evit000 Cu000 1 26.50000 98.59998 160.000000 12
4602 Evit000 Cu035 1 28.29999 28.29999 NA 1
4602 Evit000 Cu035 1 28.29999 30.09999 3.300003 2
4602 Evit000 Cu035 1 28.29999 38.29999 13.200001 3
4602 Evit000 Cu035 1 28.29999 44.50000 26.100000 4
4602 Evit000 Cu035 1 28.29999 51.59998 43.600002 5
4602 Evit000 Cu035 1 28.29999 57.59998 55.200001 6
ggplot(data = dietox, aes(x = Time, y = Weight, group = Pig))
geom_line()
這會創建一個這樣的情節

我感興趣的是在兩個時間點(1)0-6、2)6-12 創建一個 gee 預測回歸線。預期的情節應該是這樣的。
mf <- formula(Weight ~ Cu * (Time I(Time^2) I(Time^3)))
gee1 <- geeglm(mf, data=dietox, id=Pig, family="gaussian", corstr="ar1")
gee1

我將衷心感謝您的幫助。
uj5u.com熱心網友回復:
您的模型將變數Cu考慮在內,因此您的每個時期都會有 3 條不同的線 - 每個級別的Cu. 由于這只是從包中獲取的樣本資料,并且您正在尋找每個時期的單行,因此我假設您的實際資料是單個變數的函式。
繪制此圖的方法是手動預測兩個不同時期的線并繪制它們:
library(geepack)
library(ggplot2)
library(hrbrthemes)
data("dietox")
mf <- formula(Weight ~ Time I(Time^2) I(Time^3))
gee1 <- geeglm(mf, data = dietox[dietox$Time <= 6,],
id = Pig, family = "gaussian", corstr ="ar1")
gee2 <- geeglm(mf, data = dietox[dietox$Time >= 6,],
id = Pig, family = "gaussian", corstr ="ar1")
dietox$predictions <- numeric(1)
dietox$period <- "A"
dietox$predictions[dietox$Time <= 6] <- predict(gee1)
dietox$predictions[dietox$Time >= 6] <- predict(gee2)
dietox$period[dietox$Time >= 6] <- "B"
ggplot(data = dietox, aes(x = Time, y = Weight, group = Pig))
geom_line(aes(group = Pig), size = 2, alpha = 0.2)
geom_line(aes(y = predictions, group = interaction(Pig, period),
colour = period), size = 2)
theme_ipsum()

由reprex 包于 2022-03-09 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443276.html
下一篇:在一張圖上繪制超過2個圖
