Tôi muốn vẽ kết quả phân tích hồi quy logistic đa biến (GLM) cho một biến độc lập cụ thể được điều chỉnh (tức là độc lập với các mối liên hệ trong mô hình) kết quả (nhị phân).Vẽ kết quả của mô hình hồi quy logistic đa biến trong R
Tôi đã xem các bài đăng đề xuất phương pháp sau bằng cách sử dụng lệnh predict
sau curve
, đây là một ví dụ;
x <- data.frame(binary.outcome, cont.exposure)
model <- glm(binary.outcome ~ cont.exposure, family=binomial, data=x)
plot(cont.exposure, binary.outcome, xlab="Temperature",ylab="Probability of Response")
curve(predict(model, data.frame(cont.exposure=x), type="resp"), add=TRUE, col="red")
Tuy nhiên điều này dường như không hoạt động đối với các mô hình hồi quy đa biến. Tôi nhận được lỗi sau khi tôi thêm 'tuổi' (tùy ý - có thể là bất kỳ biến có cùng chiều dài) như là một biến nhiễu;
> x <- data.frame(binary.outcome, cont.exposure, age)
> model <- glm(binary.outcome ~ cont.exposure + age, family=binomial, data=x)
> plot(cont.exposure, binary.outcome, xlab="Temperature",ylab="Probability of Response")
> curve(predict(model, data.frame(cont.exposure=x), type="resp"), add=TRUE, col="red")
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
variable lengths differ (found for 'age')
In addition: Warning message:
'newdata' had 101 rows but variable(s) found have 698 rows
Mô hình trên là một phiên bản đơn giản của các mô hình Tôi muốn chạy, nhưng nguyên tắc là như nhau; Tôi muốn vẽ mối quan hệ giữa biến kết quả nhị phân và phơi nhiễm liên tục, độc lập với các yếu tố gây nhiễu..
Thật tuyệt vời để có được giải pháp cho những điều trên hoặc cách khác để xem mối quan hệ mà tôi quan tâm. Rất cám ơn.
Bạn có thể có một cái nhìn tại 'crPlots' chức năng trong 'gói car'. – BenBarnes
@BenBarnes cảm ơn vì điều đó. Tôi đã có một cái nhìn và chơi nhanh với dữ liệu, và chức năng không nhận ra rằng tôi đang làm hồi quy logistic. Tuy nhiên, nếu tôi sử dụng một hồi quy tuyến tính (tức là tiếp xúc của tôi bây giờ là kết quả của tôi, biến nhị phân của tôi là một biến độc lập) thì tôi nhận được chính xác những gì tôi muốn. Bạn sẽ đăng bài này như một câu trả lời cho tôi để chấp nhận, hay tôi? – Luke
Tôi sẽ upvote câu trả lời của Thierry! – BenBarnes