3

我的问题是我想用平均值和标准差创建图。

plotmeans我在包中找到了该函数gplots,现在我想在该图中添加一条趋势线。我尝试这样做,abline但它不起作用。我会非常感谢一些帮助。

我的数据如下所示:

year <- c(2004, 2004, 2004, 2005, 2005, 2005, 2006, 2006, 2006, 2007, 2007, 2007, 2008, 2008, 2008, 2009, 2009, 2009)
value <- c(116,114,115,110,110,109,100,99,102,95,96,95,90,91,94,70,71,73)
df <- data.frame(year, value); head(df)
library(gplots)

plotmeans(value ~ year, data= df, p = 0.99, connect= FALSE)
abline(h=c(100), col= "blue", lty= 2)
abline(lm(value ~ year, data= df))

所以第一个abline工作正常,但 lm 行不行。

4

1 回答 1

5

在图中,x 轴上的值被重新编码为因子水平。因此,您必须转换year为一个因子并使用它的数值。结果用于lm函数。

df$year2 <- as.numeric(factor(year))    

library(gplots)
plotmeans(value ~ year, data= df, p = 0.99, connect= FALSE)
abline(h=c(100), col= "blue", lty= 2)
abline(lm(value ~ year2, data= df))

在此处输入图像描述

于 2012-11-23T15:08:30.577 回答