參考:《復雜數據統計方法——基於R的應用》 吳喜之
在生存分析中,研究的主要對象是壽命超過某一時間的概率。還可以描述其他一些事情發生的概率,例如產品的失效、出獄犯人第一次犯罪、失業人員第一次找到工作、青少年第一次吸毒等等。
生存函數S(t):
S(t)=P(T>t)=1-P(T<=t),t>0
T:表示壽命的隨機變量
t:特定時間
綜合生存函數圖:用到包survival
案例:口腔癌數據
實驗分成兩組:
TX=1:僅放療
TX=2:放療+化療
#讀取數據 u=read.csv("pharynx1.csv") #因子化定性變量 x=1:11 (x=x[-c(5,11)]) #去掉第五個和第11個(定性變量的下標) for(i in x) u[,i]=factor(u[,i]) #把定性變量從數值型轉換成因子型 #回歸分析 a=lm(TIME~.,data=u) summary(a)
R2和調整R2不高,結果不理想。同時正態性條件不滿足,所以檢驗得到的p-值也沒有多大意義。
對TIME做指數變換,
Box-Cox變換是統計建模中常用的一種數據變換,用於連續的響應變量不滿足正態分布的情況。
MASS包中的boxcox()函數可以尋找λ。
#BOX-COX變換 library(MASS) b=boxcox(TIME~.,data=u) I=which(b$y==max(b$y)) #which用於找到值在數組中的位置 使對數似然最大的λ位置 b$x[I]
嘗試用TIME的0.4次方作為因變量來擬合數據
a=lm(TIME^0.4~INST+SEX+TX+AGE+COND+T.STAGE+N.STAGE+STATYS,data=u) b=step(a) summary(b) anova(b) shapiro.test(b$res)
擬合並不好。