从lme4模型获取预测变量的类

时间:2020-05-21 15:48:16

标签: r dataframe class lm lme4

在拟合lme4模型之后,我想知道我们如何从terms(fit)[[3]]得到预测变量的类?

这是一个简单的示例,但我感谢lme4中任何其他模型的功能性回答。

注意:必须从模型中提取所有内容。

library(lme4)

h <- read.csv('https://raw.githubusercontent.com/hkil/m/master/h.csv')
h$year <- as.factor(h$year)
m <- lmer(scale~ year*group + (1|stid), data = h)

terms(m)[[3]]  ## What are the `class`es of the variables in here (e.g., `integer`, `factor` etc.)

1 个答案:

答案 0 :(得分:1)

也许不够完善,但是:

  1. 从条件对象中提取变量的名称
file = pd.read_csv("f500.csv", dtype = {"Col2" : np.object, "Col3": np.object})
  1. av <- all.vars(terms(m)[[3]]) ## c("year","group") 提供的数据框中查找它们:
data=

如果要从模型中获取所有内容,通常会得到 MUCH HARDER ,因为不一定要存储原始变量。在示例中,您进行了以下操作:

setNames(lapply(av, function(x) class(h[[x]])), av)
$year
[1] "factor"

$group
[1] "character"

您会注意到 setNames(lapply(av, function(x) class(model.frame(m)[[x]])), av) $year [1] "factor" $group [1] "factor" 已转换为因子。您可以通过在模型中使用诸如group之类的术语来破坏这一点……