Hello there,
In this example, I want to insert the interpolation_vector
into Petal.Width
column then interpolate the Petal.Length
. How should I do that? The best I could think of is to create individual columns but I'm sure it's not ideal.
Thank you
library(dplyr)
interpolation_vector <- c(0.25, 1.75, 1.95)
iris <- iris %>%
select(Species, Petal.Width, Petal.Length) %>%
group_by(Species) %>%
mutate(Petal.Length1 = approx(x = Petal.Width, y = Petal.Length, xout = interpolation_vector[1])$y) %>%
mutate(Petal.Length2 = approx(x = Petal.Width, y = Petal.Length, xout = interpolation_vector[2])$y) %>%
mutate(Petal.Length3 = approx(x = Petal.Width, y = Petal.Length, xout = interpolation_vector[3])$y) %>%
ungroup()
iris
tail(iris, 15)
# A tibble: 150 x 6
Species Petal.Width Petal.Length Petal.Length1 Petal.Length2 Petal.Length3
<fct> <dbl> <dbl> <dbl> <dbl> <dbl>
1 setosa 0.2 1.4 1.4367 NA NA
2 setosa 0.2 1.4 1.4367 NA NA
3 setosa 0.2 1.3 1.4367 NA NA
4 setosa 0.2 1.5 1.4367 NA NA
5 setosa 0.2 1.4 1.4367 NA NA
6 setosa 0.4 1.7 1.4367 NA NA
7 setosa 0.3 1.4 1.4367 NA NA
8 setosa 0.2 1.5 1.4367 NA NA
9 setosa 0.2 1.4 1.4367 NA NA
10 setosa 0.1 1.5 1.4367 NA NA
11 setosa 0.2 1.5 1.4367 NA NA
12 setosa 0.2 1.6 1.4367 NA NA
13 setosa 0.1 1.4 1.4367 NA NA
14 setosa 0.1 1.1 1.4367 NA NA
15 setosa 0.2 1.2 1.4367 NA NA
# ... with 135 more rows
# A tibble: 15 x 6
Species Petal.Width Petal.Length Petal.Length1 Petal.Length2 Petal.Length3
<fct> <dbl> <dbl> <dbl> <dbl> <dbl>
1 virginica 2.300 6.1 NA 4.9409 5.435
2 virginica 2.4 5.6 NA 4.9409 5.435
3 virginica 1.8 5.5 NA 4.9409 5.435
4 virginica 1.8 4.8 NA 4.9409 5.435
5 virginica 2.1 5.4 NA 4.9409 5.435
6 virginica 2.4 5.6 NA 4.9409 5.435
7 virginica 2.300 5.100 NA 4.9409 5.435
8 virginica 1.9 5.100 NA 4.9409 5.435
9 virginica 2.300 5.9 NA 4.9409 5.435
10 virginica 2.5 5.7 NA 4.9409 5.435
11 virginica 2.300 5.2 NA 4.9409 5.435
12 virginica 1.9 5 NA 4.9409 5.435
13 virginica 2 5.2 NA 4.9409 5.435
14 virginica 2.300 5.4 NA 4.9409 5.435
15 virginica 1.8 5.100 NA 4.9409 5.435