我有一个函数,它接受一个参数并打印一个字符串:
test <- function(year){
print(paste('and year in (', year,')'))
}
Run Code Online (Sandbox Code Playgroud)
我输入一个元素年的矢量(2012),它将打印出来:
"and year in ( 2012 )"
Run Code Online (Sandbox Code Playgroud)
我如何编写函数,如果我把测试(c(2012,2013,2014))打印出来?
"and year in ( 2012,2013,2014 )"
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用省略号来完成任务,并将其包装在内toString
,因为它可以接受无限量的值并立即对所有值进行操作.
test <- function(...){
print(paste('and year in (', toString(c(...)),')'))
}
test(2012:2014)
## [1] "and year in ( 2012, 2013, 2014 )"
Run Code Online (Sandbox Code Playgroud)
这种方法的优点是它也适用于诸如此类的输入
test(2012, 2013, 2014)
## [1] "and year in ( 2012, 2013, 2014 )"
Run Code Online (Sandbox Code Playgroud)