# package libraries
library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 4.2.2
#> Warning: package 'ggplot2' was built under R version 4.2.3
#> Warning: package 'tibble' was built under R version 4.2.3
#> Warning: package 'tidyr' was built under R version 4.2.2
#> Warning: package 'readr' was built under R version 4.2.2
#> Warning: package 'purrr' was built under R version 4.2.2
#> Warning: package 'dplyr' was built under R version 4.2.3
#> Warning: package 'stringr' was built under R version 4.2.2
#> Warning: package 'forcats' was built under R version 4.2.2
#> Warning: package 'lubridate' was built under R version 4.2.2
# sample data
set.seed(9)
df <- tibble(
x = seq(1, 28, 1),
var1 = rnorm(n = 28, mean = 1, sd = .1)
)
# apply stats::loess function directly
df <- df %>%
mutate(
m = predict(loess(var1 ~ x))
)
# view
df
#> # A tibble: 28 × 3
#> x var1 m
#> <dbl> <dbl> <dbl>
#> 1 1 0.923 0.923
#> 2 2 0.918 0.943
#> 3 3 0.986 0.960
#> 4 4 0.972 0.975
#> 5 5 1.04 0.988
#> 6 6 0.881 0.999
#> 7 7 1.12 1.01
#> 8 8 0.998 1.01
#> 9 9 0.975 1.02
#> 10 10 0.964 1.02
#> # ℹ 18 more rows
Thank you very much for your answer! But I think they have different default settings. I liked the result of the "loess" function from "ggplot2" more than from "stats" when I tried to solve the problem. I'll try again as you suggested.