如何使用R从低位平滑器中提取所有数据点?

时间:2014-04-12 01:53:05

标签: r

我使用以下代码创建图表并且更顺畅。现在,我想知道如何获得该行的数据点。

plot(mydata$chlindex ~ mydata$Time, pch=mydata$treatment, col=mydata$treatment)

for (i in c(1, 2, 3, 4)){
  lines(lowess(mydata$chl[mydata$treatment==i] ~ mydata$Time[mydata$treatment==i]),
  lty=2, col=i)
}

谢谢, 米歇尔

1 个答案:

答案 0 :(得分:1)

制作数据示例

创建一些相关变量(相关性不是必需的,但稍微有点乐趣)

df <- data.frame(x=1:200)
df <- within(df, y <- rnorm(200,x*.01))

使用黄土线生成散点图

plot(df)
lines(predict(loess(y~x,df)),col="red")

enter image description here

获取黄土线点

请注意,在该行的绘制中使用了predict()。在没有lines()的情况下使用它来获得积分。

predict(loess(y~x,df))
#  [1] 0.2461715 0.2498436 0.2536022 0.2574490 0.2613854 0.2654131 0.2695336
#  [8] 0.2737485 0.2780593 0.2824677 0.2869751 0.2915832 ...