当前位置 : 主页 > 网络推广 > seo >

如何从R中的GLM调用中检索原始变量名称列表?

来源:互联网 收集:自由互联 发布时间:2021-06-16
在R中使用glm函数时,可以在公式参数中使用addNA或log等函数.假设我们有一个包含4列的数据框数据:Class,var1是因子,var2,var3是数值变量,我们适合: Model - glm(data = Data, formula = Class ~ addNA(v
在R中使用glm函数时,可以在公式参数中使用addNA或log等函数.假设我们有一个包含4列的数据框数据:Class,var1是因子,var2,var3是数值变量,我们适合:

Model <- glm(data  = Data, 
         formula   = Class ~ addNA(var1) + var2+ log(var3),  
         family    = binomial)

在glm输出变量1中现在将被称为addNA(var1)(例如在Model $xlevels中),而变量3将被称为log(var3).

是否可以从glm输出中检索一个列表,该列表指示var1,var2和var3是从数据帧中提取的,而变量名中没有出现addNA(var1)或log(var3)?

更一般的是,在调用glm之后,在glm函数内生成任何变换/交叉项等之前,是否有可能推断出哪些列是通过glm从输入数据帧中提取的?

这有效:

all.vars(formula(Model)[-2])
## [1] "var1" "var2" "var3"

[-2]索引从公式中删除响应变量.但是,您可能会对内部存储的模型框架没有原始变量,但转换后的变量…感到失望.

names(model.frame(Model))
## [1] "Class"       "addNA(var1)" "var2"        "log(var3)"
网友评论