在“paste”函数中使用未定义(拼写错误)的参数 - 了解结果

Leo*_*ith 2 arguments r variadic-functions

我们都知道函数中有一个collapse参数paste()。它指的是一个可选的字符串来分隔结果:

paste(1:5, collapse = ", ")  
[1] "1, 2, 3, 4, 5"
Run Code Online (Sandbox Code Playgroud)

但是,当collapse参数拼写错误时 - 例如cpllapse- 调用不会出错,尽管结果令人困惑:

paste(1:5, cpllapse = ", ")
[1] "1 , " "2 , " "3 , " "4 , " "5 , "
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了cpllapseR 中的参数,但找不到任何东西。

为什么使用拼写错误的参数时不会paste()出错?如何解释结果?或者实际上有一个cpllapse参数paste()

Rol*_*and 5

paste将省略号...作为其第一个参数。省略号收集与 的命名参数之一不匹配的所有函数参数paste

帮助页面说:

...一个或多个 R 对象,要转换为字符向量。

您正在传递两个 R 对象,其中一个是命名参数并不重要,因为省略号和参数匹配在 R 中是如何工作的。和 R 中一样,输入向量被循环到最长输入向量的长度。

你在那里所做的基本上与 相同paste(1:5, rep(", ", 5), sep = " ")