相关疑难解决方法(0)

通过简单拟合预测 x 值并在图中进行注释

我有一个非常简单的问题,但到目前为止找不到简单的解决方案。假设我有一些数据想要拟合并显示其 x 轴值,其中 y 是特定值。在这种情况下,假设当 y=0 时 x 值是多少。模型非常简单 y~x 用于拟合,但我不知道如何从那里估计 x 值。反正,

样本数据

library(ggplot2)
library(scales)
df = data.frame(x= sort(10^runif(8,-6,1),decreasing=TRUE), y = seq(-4,4,length.out = 8))

ggplot(df, aes(x = x, y = y)) +
  geom_point() +
  #geom_smooth(method = "lm", formula = y ~ x, size = 1,linetype="dashed",  col="black",se=FALSE, fullrange = TRUE)+
  geom_smooth(se=FALSE)+
  labs(title = "Made-up data") + 
  scale_x_log10(breaks =  c(1e-6,1e-4,1e-2,1),
                labels = trans_format("log10", math_format(10^.x)),limits = c(1e-6,1))+
  geom_hline(yintercept=0,linetype="dashed",colour="red",size=0.6)
Run Code Online (Sandbox Code Playgroud)

我想将 1e-10 输入转换为 10^-10 格式并在绘图上对其进行注释。正如我在情节中指出的那样。

提前致谢!

在此输入图像描述

r ggplot2 lm

3
推荐指数
1
解决办法
3879
查看次数

获取给定 y 值的 x 值:线性/非线性插值函数的一般求根

我对插值函数的一般求根问题感兴趣。

假设我有以下(x, y)数据:

set.seed(0)
x <- 1:10 + runif(10, -0.1, 0.1)
y <- rnorm(10, 3, 1)
Run Code Online (Sandbox Code Playgroud)

以及线性插值和三次样条插值:

f1 <- approxfun(x, y)
f3 <- splinefun(x, y, method = "fmm")
Run Code Online (Sandbox Code Playgroud)

如何找到x这些插值函数与水平线交叉的值y = y0?以下是带有 的图形说明y0 = 2.85

par(mfrow = c(1, 2))
curve(f1, from = x[1], to = x[10]); abline(h = 2.85, lty = 2)
curve(f3, from = x[1], to = x[10]); abline(h = 2.85, lty = 2)
Run Code Online (Sandbox Code Playgroud)

我知道有关此主题的一些先前主题,例如

interpolation regression r spline

3
推荐指数
1
解决办法
1897
查看次数

标签 统计

r ×2

ggplot2 ×1

interpolation ×1

lm ×1

regression ×1

spline ×1