r - 如何在线点图中找到 y 值?
问题描述
我有这个线和点图:
#generate fake data
xLab <- seq(0, 50, by=5);
yLab <- c(0, sort(runif(10, 0, 1)));
#this value is fixed
fixedVal <- 27.3
#new window
dev.new();
#generate the plot
paste0(plot(xLab, yLab, col=rgb(50/255, 205/255, 50/255, 1), type="o", lwd=3,
main="a line-and-dots plot", xlab="some values", ylab="a percentage",
pch=20, xlim=c(0, 50), ylim=c(0, 1), xaxt="n", cex.lab=1.5, cex.axis=1.5,
cex.main=1.5, cex.sub=1.5));
#set axis
axis(side = 1, at=c(seq(min(xLab), max(xLab), by=5)))
#plot line
abline(v=fixedVal, col="firebrick", lwd=3, lty=1);
现在,我想找到绿线和红线交点的 y 坐标。
我可以在不需要回归线的情况下实现目标吗?有没有一种简单的方法来获取那个未知点的坐标?
解决方案
您可以使用approxfun
进行插值:
> approxfun(xLab,yLab)(fixedVal)
[1] 0.3924427
或者,只需使用approx
:
> approx(xLab,yLab,fixedVal)
$x
[1] 27.3
$y
[1] 0.3924427