使用c()
和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
答案 0 :(得分:39)
您使用它的方式并未显示c
和append
之间的差异。 append
在某种意义上是不同的,它允许在某个位置之后将值插入到向量中。
示例:
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
如果您在R终端中输入append
,则会看到它使用c()
附加值。
# 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])
}
默认情况下,您可以看到(注释部分)(如果您未在示例中设置after=
),它只返回c(x, values)
。 c
是一个更通用的函数,可以将值连接到vectors
或lists
。