J'ai un ensemble de données qui ressemble à ceciComment lisser séquence par foulardage avec interpolation linéaire
Category<-c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3)
Sequence<-c(1,2,3,4,5,1,2,3,4,5,1,2,3,4,5)
Data<-c(2,3,4,5,6,4,5,6,7,6,5,4,3,2,4)
DF<-data.frame(Category,Sequence,Data)
Je voudrais lisser la colonne de données (interpolation linéaire) par foulardage la colonne de séquence avec des numéros supplémentaires (Garder la catégorie constante). Si je devais pavé la séquence avec un seul numéro entre chaque valeur, le résultat ressemblerait à ceci:
NewCat<-c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2)
NewSeq<-c(1,1.5,2,2.5,3,3.5,4,4.5,5,1,1.5,2,2.5,3,3.5)
NewData<-c(2,2.5,3,3.5,4,4.5,5,5.5,6,4,4.5,5,5.5,6,6.5)
NewDF<-data.frame(NewCat,NewSeq,NewData)
J'ai écrit une boucle pour ce faire (rembourrage avec 20, par opposition à un), mais j'aimerais utiliser quelque chose de plus efficace.