如何使用不一定通过每个点的 ggplot 将曲线拟合到我的数据?

How can fit a curve to my data using ggplot that doesn't necessarily go through every point?

我试图在 R 中为我的数据点拟合一条曲线,但 geom_smooth 只是在所有点上画了一条难看的线。我正在寻找一种方法来制作一条不一定经过所有点的平滑曲线。

这是我用来制作它的代码:

data <- data.frame(thickness = c(0.25, 0.50, 0.75, 1.00),
               capacitance = c(1.844, 0.892, 0.586, 0.422))

ggplot(data, aes(x = thickness, y = capacitance)) + 
geom_point() + 
geom_smooth(method = "loess", se = F, formula = (y ~ (1/x)))

当我说拟合曲线时,我的意思是

geom_smooth 中平滑线条的“黄土”方法有一个“跨度”参数,您可以将其用于此目的,例如

library(tidyverse)
data <- data.frame(thickness = c(0.25, 0.50, 0.75, 1.00),
                   capacitance = c(1.844, 0.892, 0.586, 0.422))

ggplot(data, aes(x = thickness, y = capacitance)) + 
  geom_point() + 
  geom_smooth(method = "loess", se = F,
              formula = (y ~ (1/x)), span = 2)

reprex package (v2.0.0)

于 2021-07-21 创建

有关详细信息,请参阅