从 lm 模型对象中提取数据框

Extract dataframe from lm model object

一个简单的问题,我还没有找到答案。

我正在寻找一个函数,用于从 lm 模型对象中提取用作输入的数据框的名称。

例如,如果我 运行

model <- lm(mpg ~ cyl, data = mtcars)

我想要一个类似

的函数

data.name(model)

产生

mtcars

我看过 here and here,但他们似乎没有给我我要找的东西。例如,除非我使用 model.frame() 错误,否则它只会给我包含模型中使用的术语的数据框,而不是原始输入数据框。

model$call$data 给你 mtcars (未评估的符号); deparse(model$call$data) 给你 "mtcars" (一个字符串)。 eval(model$call$data) 返回原始数据对象,如果它在当前环境中可用。