2012-06-12 35 views
11

Tôi đang chạy hồi quy logistic với biến dự báo phân loại với mức 0-6. Theo mặc định, R xem mức 0 là nhóm tham chiếu.Thay đổi nhóm tham chiếu cho biến dự báo phân loại trong hồi quy logistic

Làm cách nào tôi có thể yêu cầu R sử dụng, ví dụ: cấp 3 thay vì cấp 0 làm tham chiếu mà không đổi tên các cấp?

+0

Có một giải pháp mà sẽ làm việc với nhãn? Ví dụ, nếu các cấp là '" a "," b ", ...," g "', 'R' sử dụng thứ tự chữ cái. Làm thế nào để sử dụng '" d "' làm tham chiếu? Tôi đã thử 'C (F, contr.treatment, base =" a ")' nhưng nó không hoạt động. –

+0

'C (F, contr.treatment, base = which (các cấp (F) ==" d "))' hoạt động nhưng không thanh lịch.' –

+0

@MathieuDubois, giải pháp thay thế của tôi là lừa bảng chữ cái bằng cách đặt tên danh mục như "aCategory1" "bCategory2", v.v. –

Trả lời

8

Sử dụng C chức năng để xác định sự tương phản của bạn trong khung dữ liệu.

Nếu dataframe của bạn là DF và biến yếu tố là fct, sau đó

DF$fct <- C(DF$fct, contr.treatment, base=3) 

(chưa được kiểm tra).

+0

Làm việc tuyệt vời, cảm ơn! –

5

Điều này rất dễ dàng với các gói của Frank Harrell (cho phép nhiều chức năng bổ sung).
Ví dụ, đối với một dataframe tên 'df'

library(Hmisc) 
library(rms) 
dd=datadist(df) 
options(datadist='dd') 
(m=lrm(y ~ catvar, data=df)) #uses the mode as the reference group 
summary(m, catvar=3) #using level=3 as the reference group 
summary(m, catvar=0) #using level=0 as the reference group 

(Và, một số dữ liệu mẫu sẽ được tốt đẹp - bạn luôn có thể sử dụng dput để ra một tập dữ liệu nhỏ)

+0

Giải pháp linh hoạt thú vị, cảm ơn bạn. Sẽ phải đọc lên những gì datadist là đại diện. –

4

Chức năng C đã được đề xuất, cũng xem contrasts, relevelreorder, trong số các chức năng khác.

+0

Cũng rất hữu ích. Cảm ơn bạn. –

2

Bạn có thể sử dụng chức năng relevel: dataframe $ x1 < - relevel (datafrmae $ x1, "gõ ở đây các loại tài liệu tham khảo")

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