**Exemple 2 :** Les chunks peuvent être **injecté** dans d'autres chunk avec la syntaxe ``<< nomduchunk >>` : ```{{r, func-full-more}} <> if (x > 10){ x <- x + 1 <> } else { x <- x * 2 <> } < ``` sera reconstruit en : ```{r, func-full-more-lp} <> if (x > 10){ x <- x + 1 <> } else { x <- x * 2 <> } <> ``` Le calcul fait est simplement `return` : {x + 1}. ```{r, func-result, eval=TRUE, echo=FALSE} result1 <- add_one(5) result2 <- add_one(15) ``` Donc pour la valeur **5** le résultat renvoyé est : `{r} result1` Donc pour la valeur **15** le résultat renvoyé est : `{r} result2` Si on veut rentrer plus dans le détail, ici nous avons l'entête de la fonction : ```{r, func-def, eval=FALSE} add_one = function(x) { ``` Les deux types de calculs qui sont fait : ```{r, func-body1, eval = FALSE} return(x + 5) ``` ```{r, func-body2, eval = FALSE} return(x + 10) ``` Et surtout on oublie pas de fermer la parenthèse ! ```{r, func-end, eval=FALSE} } ```