查看lm中是否使用了因变量的对数

Find out if the logarithm of the dependent variable is used in lm

假设我在 R 中有两个 lm 模型:

m1 <- lm(log(Volume) ~ Height + log(Girth), data = trees)
m2 <- lm(Volume ~ log(Girth), data = trees)

查找因变量是否已记录的标准方法是什么,即 return TRUE 用于 m1FALSE 用于 m2

这不会直接保存为模型对象中的 TRUE/FALSE 标志。

完成这项工作的一种方法是

grepl("log", names(m1$model)[[1]]) 
grepl("log", names(m2$model)[[1]]) 

这将在 lm 对象的模型部分搜索词 "log"。

这是检查因变量是否经过对数转换的另一种方法。

grepl('log', as.list(attr(terms(m1), 'variables')[[2]])[[1]])
#[1] TRUE
grepl('log', as.list(attr(terms(m2), 'variables')[[2]])[[1]])
#[1] FALSE