错误:autoplot不支持lm类型的对象

时间:2016-12-15 13:31:04

标签: r ggplot2

我正在尝试创建一个接受两个参数的简单函数:

线性模型和与颜色对应的字符串。

它应该为此线性模型创建Residuals vs Fitted和Q-Q图,并根据字符串参数对点进行着色,如下所示:

  

demo_lm< - lm(ExpenditurePerStud~State,data = clean_colleges)

     

answer7(demo_lm,"#34925E")

这就是我的尝试:

library(ggplot2)

demo_lm <- lm(ExpenditurePerStud ~ State, data = clean_colleges)

answer7 <- function( my_lm , color_str) 
{
  autoplot(my_lm, which = 1:2, smooth.colour = color_str,
           data = clean_colleges, colour = color_str) +
    theme_bw()
}

但它会抛出错误:当我调用answer7(demo_lm, "#34925E")

时,autoplot不支持lm类型的对象

2 个答案:

答案 0 :(得分:1)

这是让你入门的东西。来自data = ['Mys--dreyn M (00:07:04): Yes', ' of course.\r\n'] time_search = re.search('(*)', "".join(data), re.IGNORECASE) if time_search: time = time_search.group(1) print time 的错误消息清楚地表明它无法处理autoplot个对象。只需提取残差和拟合值,然后绘制:

lm

如果您想在同一设备上同时使用这两个图,请查看 answer7 <- function(my_lm, color_str){ resids <- residuals(my_lm) fitted <- fitted(my_lm) p_vs_r <- ggplot(data = NULL, aes(x = fitted, y = resids))+ geom_point(colour = color_str) qq_r <- ggplot(data = NULL, aes(sample = resids))+ stat_qq(colour = color_str) plot(p_vs_r) plot(qq_r) } 包中的multiplot功能。

答案 1 :(得分:0)

使用 handleScroll() { const scrollY = window.scrollY; console.log(scrollY, "scrollY"); this.setState({ yPos: this.state.yPos + scrollY * 0.1 }); } 时不应发生该错误,它使ggfortify可以使用更多不同的对象类型。

autoplot

enter image description here