我有ctlns
列表,我正在尝试对数据进行一些可视化
ctlns<-list(structure(list(level = 10, x = c(0.101666666666667, 0.06,
0.0385714285714286, 0.035, 0.035, 0.035, 0.04, 0.0433333333333333,
0.05, 0.0516666666666667, 0.06, 0.0606416584402764, 0.0606416584402764,
0.0766666666666667, 0.0766666666666667, 0.0933333333333333, 0.0933333333333333,
0.0975, 0.11, 0.110956351152526, 0.110956351152526, 0.135, 0.135
), y = c(0.01, 0.04125, 0.06, 0.11, 0.16, 0.21, 0.26, 0.31, 0.36,
0.41, 0.458123195380173, 0.46, 0.51, 0.56, 0.61, 0.66, 0.71,
0.76, 0.808123195380173, 0.81, 0.86, 0.91, 0.96)), .Names = c("level",
"x", "y")))
然后我,
plot(ctlns[[1]]$x,ctlns[[1]]$y, xlim=c(0,.21), ylim=c(0,1), lwd=2, type="l", col="darkred" )
我明白了情节
我想平滑红色曲线的上部(y>0.2),同时保持一些弯曲的结构(y<0.2)
lines(lowess(ctlns[[1]]$x,ctlns[[1]]$y,f=2/3), lwd=2, col="darkblue")
前一部分做得很好,但删除了曲线的下部。我有以下问题:
- 为什么会这样?
- 如何保持和平滑红色曲线的下部?或者也许结合曲线/平滑线?
- 忽略红色曲线,如何根据蓝色曲线数据指示 lowess 外推值直到 y=0?
与 agstudy 讨论后编辑
由于红线的弯曲性质,我在想我需要的可能不是平滑函数,y~x
而是将点与某种曲线连接起来的图形函数。x, y
这些点应该按照它们出现在它们的向量中的顺序连接(x[1]
withy[1]
等等......)
这可能吗?