Jaka jest różnica między używaniem c()
i append()
? Czy jest jakiś?Różnica między c() i 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
Jaka jest różnica między używaniem c()
i append()
? Czy jest jakiś?Różnica między c() i 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
Sposób użyłeś nie pokazuje różnicę między c
i append
. append
jest inny w tym sensie, że umożliwia wprowadzenie wartości do wektora po określonej pozycji.
Przykład:
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
Jeśli wpiszesz append
w terminalu R, zobaczysz że używa c()
dołączyć wartości.
# 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])
}
można zobaczyć (komentowane część), które domyślnie (jeśli nie ustawisz after=
jak w przykładzie), to po prostu zwraca c(x, values)
. c
to bardziej ogólna funkcja, która może łączyć wartości z vectors
lub lists
.
'c' jest także prymitywne z kilkoma metodami S3 (patrz' metody ("c") ') – baptiste