2011-01-24 42 views
11

Tôi đã thực hiện một hồi quy logistic với kết quả như sau:hệ số chiết xuất từ ​​GLM trong R

ssi.logit.single.age["coefficients"] 
# $coefficients 
# (Intercept)   age 
# -3.425062382 0.009916508 

tôi cần phải lấy hệ số cho age, và hiện nay tôi sử dụng đoạn mã sau:

ssi.logit.single.age["coefficients"][[1]][2] 

Tính năng này hoạt động nhưng tôi không thích mã khó hiểu ở đây, tôi có thể sử dụng tên hệ số (ví dụ: (Intercept) hoặc age)

Trả lời

16

Có chức năng trích xuất được gọi là coef để nhận hệ số từ các mô hình:

coef(ssi.logit.single.age)["age"] 
+0

sau đó làm thế nào về giải nén lỗi đứng? Tôi cần tính toán 95% CI – lokheart

+2

xem coef (tóm tắt (ssi.logit.single.age)) cho một bảng bao gồm các lỗi tiêu chuẩn. Bạn có thể sử dụng confint.default (ssi.logit.single.age) để nhận khoảng tin cậy dựa trên +/- 1.96 SE. Hoặc tốt hơn, MASS :: confint (ssi.logit.single.age) sẽ cung cấp cho bạn khoảng tin cậy hồ sơ, chính xác hơn (mặc dù chậm hơn một chút). –

4

tôi đã tìm thấy nó, từ here

Nhìn vào cấu trúc dữ liệu được tạo ra bởi bản tóm tắt()

> names(summary(lm.D9)) 
    [1] "call"   "terms"   "residuals"  "coefficients" 
    [5] "aliased"  "sigma"   "df"   "r.squared" 
    [9] "adj.r.squared" "fstatistic" "cov.unscaled" 

Bây giờ nhìn vào cấu trúc dữ liệu cho các hệ số trong phần tóm tắt:

> summary(lm.D9)$coefficients 
      Estimate Std. Error t value  Pr(>|t|) 
(Intercept) 5.032 0.2202177 22.850117 9.547128e-15 
groupTrt  -0.371 0.3114349 -1.191260 2.490232e-01 

> class(summary(lm.D9)$coefficients) 
[1] "matrix" 

> summary(lm.D9)$coefficients[,3] 
(Intercept) groupTrt 
    22.850117 -1.191260 
+0

Cũng hiển thị cấu trúc bên trong của đối tượng R có thể hữu ích thông qua hàm 'str()', ví dụ: 'str (tóm tắt (lm.D9))' trong ví dụ của bạn – daroczig

+3

Đừng bắt đầu đi vòng quanh các đối tượng như thế này! Sử dụng các hàm vắt; trong trường hợp này 'coef()'. Ví dụ, nhìn vào thành phần '$ residuals'. Bạn có thể lấy số dư của mô hình bằng cách truy cập trực tiếp '$ residuals' nhưng đây là những gì? Họ chắc chắn không phải là những gì bạn có thể nghĩ ngay lập tức như mô hình dư. Sử dụng 'resid()' trên mô hình và bạn có thể chọn loại dư. –

+1

?? '> all.equal (số dư (lm.D9), lm.D9 $ dư)' [1] TRUE (số dư glm là số dư "làm việc"). –

Các vấn đề liên quan