看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 請把以下不需要的部份刪除 使用者 [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 執行迴歸分析,產生下列表單,想擷取第一欄位(Estimate) 因為有出現 NA 的情況,無法完整的將第一欄位擷取出來! (有很多組需要執行,每組所估算出的 Beta 值長度不一) 希望能保留完整六個 Beta 值 (Intercept,data[,2],data[,3],data[,i],data[,j],data[,i]:data[,j]) 想請教版上先進,可以如何達到這的目標,謝謝各位 Coefficients: (2 not defined because of singularities) Estimate Std. Error z value Pr(>|z|) (Intercept) -0.779222 1.309672 -0.595 0.552 data[, 2] 1.346329 0.204052 6.598 4.17e-11 *** data[, 3] 0.035580 0.005365 6.631 3.32e-11 *** data[, i] -0.771758 0.645828 -1.195 0.232 data[, j] NA NA NA NA data[, i]:data[, j] NA NA NA NA [程式範例]: mylogit <- glm( data[,1] ~ data[,2] + data[,3] + data[,i] + data[,j] + data[,i]:data[,j], family=binomial(link="logit"), data = data) coef <- summary(mylogit)$coefficients coef[,1] [關鍵字]: 感謝各位協助 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.129.5 ※ 編輯: microcat 來自: 140.112.129.5 (08/06 14:04)
Wush978:能不能提供範例data檔案呢?否則無法重現錯誤 08/06 23:14
Wush978:可以參考dump指令 08/06 23:15
diplazium:dump...又從版主大學到一招了,謝謝! 08/07 10:22
lin15:mylogit$coef 好像可以XD? 08/07 20:38
celestialgod:可是 那兩行NA出不來XDDD 08/07 22:24
lin15:不加summary直接取coef的話就會有NA XD 08/08 01:33
celestialgod:原PO意思好像是要完整的表? 08/08 01:47
lin15:也可以拉 ifelse(is.na(a$coef),NA,summary(a$coef)) 08/08 02:18
lin15:上面好像括號有放錯地方... 08/08 02:18
lin15:反正就是透過mylogit$coef來判斷就可以了! 08/08 02:20
microcat:謝謝各位的協助,mylogit$coef 可以達到所需要的目的 08/08 10:37
附上修改後的程式,謝謝各位的協助 Beta_temp <- matrix(0,1,8) colnames(Beta_temp) <- c("i", "j","Intercept", "Gender", "Age", "CAR1", "CAR2", "CAR1*CAR2") for(i in 4:11){ for(j in (i+1):12){ mylogit <- glm( data[,1] ~ data[,2] + data[,3] + data[,i] + data[,j] + data[,i]:data[,j], family=binomial(link="logit"), data = data) coef <- t(as.matrix(mylogit$coef)) Beta_temp <- rbind(Beta_temp, c(i, j, coef[,1], coef[,2], coef[,3], coef[,4], coef[,5], coef[,6])) } } Beta_temp[-1,] ※ 編輯: microcat 來自: 140.112.129.5 (08/08 10:40)
celestialgod:我按照原PO意思 把程式改好 修改於下面了 08/08 13:09
microcat:非常感謝 08/09 14:07