Arrays 附加指定新值的函数

Arrays 附加指定新值的函数,arrays,r,Arrays,R,我试图创建一个函数Append,它不返回值,而是直接扩展第一个变量。目前,要将y附加到xI x = append(x,y) 我希望能够做到 Append(x,y) 得到同样的结果。我首先想到的是 Append = function(a,b,VarName) assign(VarName,append(a,b), envir = .GlobalEnv) Append(x,y,"x") 它可以工作,但是必须传递原始变量的名称是非常不令人满意的。有更好的解决方案吗?这是非常不合理的,但是: Ap

我试图创建一个函数
Append
,它不返回值,而是直接扩展第一个变量。目前,要将
y
附加到
x
I

x = append(x,y)
我希望能够做到

Append(x,y)
得到同样的结果。我首先想到的是

Append = function(a,b,VarName) assign(VarName,append(a,b), envir = .GlobalEnv)
Append(x,y,"x")
它可以工作,但是必须传递原始变量的名称是非常不令人满意的。有更好的解决方案吗?

这是非常不合理的,但是:

Append <- function(x, y) {
  assign(deparse(substitute(x)),append(x,y), envir = .GlobalEnv)
}
Append这是非常不恰当的,但是:

Append <- function(x, y) {
  assign(deparse(substitute(x)),append(x,y), envir = .GlobalEnv)
}

Append既然您这样做是为了学习,那么更类似于R的就地修改方法可能是替换函数

`append_to<-` = function(x, ..., value)
    append(x, ..., values=value)

因为您这样做是为了学习,所以可能更像R的就地修改方法是替换函数

`append_to<-` = function(x, ..., value)
    append(x, ..., values=value)

对于那些想知道的人来说,我在问这个问题时并没有考虑实际应用。我只是想学习。分配(deparse)(substitute(…),…对于那些想知道的人,我在问这个问题时并没有考虑实际应用。我只是想学习。分配(deparse)(substitute(…),…Awesome+1!您为什么使用
..
作为
追加的参数?这种函数定义有没有术语?@Remi.b;@Remi.b我更新了我的答案,以指示在替换函数中使用了其他参数。Awesome+1!您为什么使用
..
作为
追加的参数_这类函数定义有一个术语吗?@Remi.b;@Remi.b我更新了我的答案,以表明在替换函数中使用了其他参数。
> x
 [1] 1 2 3 4 5 5 4 3 2 1
> y
 [1] 1 2 3 3 2 1 1 2 3 4 5