Usando approx () com grupos no dplyr

Estou tentando usarapprox() edplyr para interpolar valores em uma matriz existente. Meu código inicial fica assim ...

p = c(1,1,1,2,2,2)
q = c(1,2,3,1,2,3)
r = c(1,2,3,4,5,6)

Inputs<- data.frame(p,q,r)

new.inputs= as.numeric(c(1.5,2.5))

library(dplyr)

Interpolated <- Inputs %>%
        group_by(p) %>%
        arrange(p, q) %>%
        mutate(new.output=approx(x=q, y=r, xout=new.inputs)$y)

Espero ver 1.5, 2.5, 4.5, 5.5, mas, em vez disso, recebo

Erro: tamanho incompatível (2), esperando 3 (o tamanho do grupo) ou 1

Alguém pode me dizer onde estou errado?

questionAnswers(0)

yourAnswerToTheQuestion