R 找出变量';在回归模型中初始化,而不访问原始数据帧

R 找出变量';在回归模型中初始化,而不访问原始数据帧,r,regression,glm,R,Regression,Glm,我有一个rda文件,其中包含逻辑回归模型。如果我只想知道在glm中使用的自变量的数据类型是什么,那么把其他事情放在一边,我如何检查这些自变量?例如,如果我的Y~X1+X2+X3如何知道X1、X2和X3是什么数据类型?在这一点上,我没有数据框架来研究数据类型。非常感谢您的帮助。我想先提供一些更有用的东西。检查$terms怎么样?(以下面的fit为例) 因为您的问题只提到识别数据类,所以这就足够了。但如果要访问变量的数据,请选中$data这就是glm与lm的不同之处glm返回的内容比lm多得多,包括

我有一个
rda
文件,其中包含逻辑回归模型。如果我只想知道在
glm
中使用的自变量的数据类型是什么,那么把其他事情放在一边,我如何检查这些自变量?例如,如果我的
Y~X1+X2+X3
如何知道
X1
X2
X3
是什么数据类型?在这一点上,我没有数据框架来研究数据类型。非常感谢您的帮助。

我想先提供一些更有用的东西。检查
$terms
怎么样?(以下面的
fit
为例)

因为您的问题只提到识别数据类,所以这就足够了。但如果要访问变量的数据,请选中
$data
这就是
glm
lm
的不同之处
glm
返回的内容比
lm
多得多,包括
data
参数。注意,
lm
不返回
数据


关于
模型框架的更多信息

几乎总是,
model.frame
是最好的程序。但是要小心使用

dat <- mtcars
fit <- glm(mpg ~ qsec + factor(am) + wt + factor(gear),
           data = dat,  model = FALSE)
rm(dat)
model.frame(fit)

model.frame.lm
model.frame.glm
从模型对象中简单提取
$model
(如果存在
$model
);否则,它将调用
model.frame.default
,从模型公式和原始数据帧构造模型帧。

不确定不访问数据帧的确切含义,但确定对象的数据类型的典型方法是使用
类()
。例如
var@ZheyuanLi,我建议不要依赖于
$model
,因为如果函数调用中使用了
model=FALSE
,则会返回
NULL
<代码>模型.框架
(见下面我的答案)仍然有效。理由充分。我似乎从来没有遇到过具体的情况,也没有考虑过后果。我仍然支持
model.frame
,因为在
model=FALSE
并且您可以访问数据帧的情况下,它仍然会成功
$model
将返回
NULL
。在这个问题的上下文中它不会有什么不同,但在其他上下文中它可能会有不同。attr(fit$terms,“dataClasses”)解决了我眼前的问题。我感谢你的额外解释。它帮助我澄清了更多的事情。
dat <- mtcars
fit <- glm(mpg ~ qsec + factor(am) + wt + factor(gear),
           data = dat,  model = FALSE)
rm(dat)
model.frame(fit)
.S3methods("model.frame")
#[1] model.frame.aovlist* model.frame.default  model.frame.glm*    
#[4] model.frame.lm*