Qual è la differenza tra l'utilizzo di c()
e append()
? C'è qualche?Differenza tra c() e append()
> 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
Qual è la differenza tra l'utilizzo di c()
e append()
? C'è qualche?Differenza tra c() e append()
> 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
Il modo in cui hai utilizzato non mostra differenze tra c
e append
. append
è diverso nel senso che consente di inserire valori in un vettore dopo una determinata posizione.
Esempio:
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
Se si digita append
nel terminale R, vedrai che usa c()
per aggiungere valori.
# 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])
}
Si può vedere (la parte commentato) che di default (se non si imposta after=
come nel tuo esempio), restituisce semplicemente c(x, values)
. c
è una funzione più generica in grado di concatenare i valori su vectors
o lists
.
'c' è anche una primitiva con diversi metodi S3 (vedere' metodi ("c") ') – baptiste