找出因变量的对数是否在lm中使用

时间:2015-02-12 17:48:55

标签: r glm lm

说我在R中有两个lm模型:

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

查找因变量是否已记录的标准方法是什么,即为TRUE返回m1FALSE返回m2

2 个答案:

答案 0 :(得分:4)

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

实现这项工作的方法是

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

将在lm-object的模型部分中搜索“log”一词。

答案 1 :(得分:2)

这是检查因变量是否进行对数变换的另一种方法。

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