Quelle est la différence entre l'utilisation de c()
et append()
? Y a-t-il?
> c( rep(0,5), rep(3,2) )
[1] 0 0 0 0 0 3 3
> append( rep(0,5), rep(3,2) )
[1] 0 0 0 0 0 3 3
La façon dont vous l'avez utilisé ne montre pas de différence entre c
et append
. append
est différent dans le sens où il permet d'insérer des valeurs dans un vecteur après une certaine position.
Exemple:
x <- c(10,8,20)
c(x, 6) # always adds to the end
# [1] 10 8 20 6
append(x, 6, after = 2)
# [1] 10 8 6 20
Si vous tapez append
dans le terminal R, vous verrez qu'il utilise c()
pour ajouter des valeurs.
# append function
function (x, values, after = length(x))
{
lengx <- length(x)
if (!after)
c(values, x)
# by default after = length(x) which just calls a c(x, values)
else if (after >= lengx)
c(x, values)
else c(x[1L:after], values, x[(after + 1L):lengx])
}
Vous pouvez voir (la partie commentée) que par défaut (si vous ne définissez pas after=
Comme dans votre exemple), il retourne simplement c(x, values)
. c
est une fonction plus générique qui peut concaténer des valeurs en vectors
ou lists
.