我们都知道paste()
函数中有一个collapse
参数,它是一个可选的字符串,用来分隔结果:
paste(1:5, collapse = ", ")
[1] "1, 2, 3, 4, 5"
但是,当collapse
参数拼写错误时(例如cpllapse
),调用不会出错,尽管结果令人困惑:
paste(1:5, cpllapse = ", ")
[1] "1 , " "2 , " "3 , " "4 , " "5 , "
我在谷歌上搜索了R中的cpllapse
参数,但什么也找不到。
为什么paste()
在使用一个拼写错误的参数时不会出错,结果如何解释?或者paste()
中实际上有一个cpllapse
参数吗?
1条答案
按热度按时间qnzebej01#
paste
的第一个参数是省略号...
。省略号收集所有与paste
的命名参数不匹配的函数参数。帮助页面显示:
...
一个或多个R对象,要转换为字符向量。你正在传递两个R对象,其中一个是命名参数并不重要,这是由于省略号和参数匹配在R中的工作方式。和R中的惯例一样,输入向量被循环到最长输入向量的长度。
您在那里所做的基本上与
paste(1:5, rep(", ", 5), sep = " ")
相同。