Try working from this
mat <- matrix(1:10, ncol = 2)
mat
#> [,1] [,2]
#> [1,] 1 6
#> [2,] 2 7
#> [3,] 3 8
#> [4,] 4 9
#> [5,] 5 10
rbind(mat[1:4, ], NA, mat[5, ])
#> [,1] [,2]
#> [1,] 1 6
#> [2,] 2 7
#> [3,] 3 8
#> [4,] 4 9
#> [5,] NA NA
#> [6,] 5 10
Get the indices of df1, with the string, by
inserts <- which(df1["V"] == 'Pdp') + c(0,2:6)
The addition of c(0,2:6) takes into account that the row target of the second object increments every time a row is added. The 6 depends on the length returned by which.