Tôi muốn ép các biến cụ thể vào hồi quy glm mà không chỉ định đầy đủ từng biến. Tập dữ liệu thực của tôi có ~ 200 biến. Tôi đã không thể tìm thấy mẫu này trong tìm kiếm trực tuyến của tôi cho đến nay.Chỉ định công thức trong R với độ chói mà không khai báo rõ ràng của từng biến số
Ví dụ (chỉ với 3 biến):
n=200
set.seed(39)
samp = data.frame(W1 = runif(n, min = 0, max = 1), W2=runif(n, min = 0, max = 5))
samp = transform(samp, # add A
A = rbinom(n, 1, 1/(1+exp(-(W1^2-4*W1+1)))))
samp = transform(samp, # add Y
Y = rbinom(n, 1,1/(1+exp(-(A-sin(W1^2)+sin(W2^2)*A+10*log(W1)*A+15*log(W2)-1+rnorm(1,mean=0,sd=.25))))))
Nếu tôi muốn bao gồm tất cả các điều khoản chính, điều này có một phím tắt đơn giản:
glm(Y~., family=binomial, data=samp)
Nhưng nói rằng tôi muốn bao gồm tất cả các chính các điều khoản (W1, W2 và A) cộng với W2^2:
glm(Y~A+W1+W2+I(W2^2), family=binomial, data=samp)
Có lối tắt cho điều này không?
[chỉnh sửa trước khi xuất bản:] Tính năng này hoạt động! glm(formula = Y ~ . + I(W2^2), family = binomial, data = samp)
Được rồi, vậy còn cái này thì sao!
Tôi muốn bỏ qua một thuật ngữ chính biến và chỉ bao gồm hai nhiệm kỳ chính (A, W2) và W2^2 và W2^2: A:
glm(Y~A+W2+A*I(W2^2), family=binomial, data=samp)
Rõ ràng chỉ với một vài biến không có phím tắt là thực sự cần thiết, nhưng tôi làm việc với dữ liệu chiều cao. Tập dữ liệu hiện tại có "chỉ" 200 biến, nhưng một số khác có hàng nghìn và hàng nghìn.
Ồ wow, tôi rất xin lỗi, tôi cũng đã tìm ra câu hỏi thứ hai của mình! glm (Y ~.-W1 + A * I (W2^2), gia đình = nhị thức, dữ liệu = samp) Hy vọng điều này sẽ giúp người khác, vì vậy không tệ khi có nó ở đây. –