请考虑以下事项:
set.seed(1)
y <- rbinom(10, 1, prob=.5)
x <- runif(10)
m <- glm(y~x, family=binomial)
s <- summary(m)
我正在寻找一些可以用来返回foo(s)
的函数"y"
。
答案 0 :(得分:5)
可能有更好的答案,但
as.character(attributes(s$terms)$variables[[2]])
作品
答案 1 :(得分:4)
另一种选择 -
R> strsplit(as.character(s$call)[2],"\\s~\\s")[[1]][1]
[1] "y"
答案 2 :(得分:3)
如果您使用terms()
功能,则可以执行
with(attributes(terms(m)), as.character(variables[response+1]))
# [1] "y"
对于许多不同的公式,这应该是健壮的。这与delete.response()
函数使用的方法类似。