2017-04-10 312 views
1

您好我試圖找到一個非參數迴歸更平滑對控制和治療組之間的差異,以確定隨着時間的推移食慾抑制劑的有效性。那麼我需要使用我的模型來估計治療組和對照組之間的差異:t = 0t = 50P樣條平滑

我想用P-樣條平滑,但我沒有關於它的 足夠的背景這是我的數據:

牛逼

0 1 3 7 8 10 14 15 17 21 22 24 28 29 31 35 36 38 42 43 45 49 50 52 56 57 59 63 64 70 73 77 80 84 87 91 94 98 105 

CON

20.5 19.399 22.25 17.949 19.899 21.449 16.899 21.5 22.8 24.699 26.2 28.5 24.35 24.399 26.6 26.2 26.649 29.25 27.55 29.6 24.899 27.6 28.1 27.85 26.899 27.8 30.25 27.6 27.449 27.199 27.8 28.199 28 27.3 27.899 28.699 27.6 28.6 27.5 

TRT

21.3 16.35 19.25 16.6 14.75 18.149 14.649 16.7 15.05 15.5 13.949 16.949 15.6 14.699 14.15 14.899 12.449 14.85 16.75 14.3 16 16.85 15.65 17.149 18.05 15.699 18.25 18.149 16.149 16.899 18.95 22 23.6 23.75 27.149 28.449 25.85 29.7 29.449 

其中:

t - 以天爲單位的時間,因爲實驗開始。
con - 對照組的食物攝入量中位數。
trt - 治療組的中位食量。

任何人都可以幫忙嗎?

回答

1

只有給你一個開始。 mgcv包實現了各種迴歸樣條基礎,包括P樣條(懲罰B樣條具有不同的懲罰)。

首先,你需要設置你的數據:

dat <- data.frame(time = rep(t, 2), y = c(con, trt), 
        grp = gl(2, 39, labels = c("con", "trt"))) 

然後調用gam非參數迴歸:

library(mgcv) # no need to install; it comes with R 
fit <- gam(y ~ s(time, bs = 'ps', by = grp) + grp, data = dat) 

mgcv: how to specify interaction between smooth and factor?交互的規範。 bs = 'ps'設置P樣條基礎。默認情況下,選擇10個(均勻間隔的內部)結。如果需要,您可以更改k

更多關於P樣條在mgcv,閱讀mgcv: how to extract knots, basis, coefficients and predictions for P-splines in adaptive smooth?

+0

是的,所以我把我的dat改爲dat = data.frame(time = rep(C8 $ t,2),y = c(C8 $ con,C8 $ trt),grp = gl(2,39, = c(「con」,「trt」))) –

+0

是的,我得到了這個高R平方值,我正在讀你建議我做的p-樣條的鏈接。 –