【问题标题】:R: Using ellipsis with a function that takes a arbitrary number of argumentsR:将省略号与带有任意数量参数的函数一起使用
【发布时间】:2013-07-23 20:10:54
【问题描述】:

很多时候,我发现自己在输入以下内容

print(paste0(val1,',',val2,',',val3)) to print the output from a function with variables separated by a comma.

当我想从输出中复制生成一个 csv 文件时,它很方便。

我想知道我是否可以在 R 中编写一个函数来为我做这件事。经过多次尝试,我只能做到以下几点。

ppc <- function(string1,string2,...) print(paste0(string1,',',string2,',',...,))

它最多适用于三个参数。

> ppc(1,2,3)
[1] "1,2,3"
> ppc(1,2,3,4)
[1] "1,2,34" 

ppc(1,2,3,4) 应该给出"1,2,3,4"。如何更正我的功能?我以某种方式相信这在 R 中是可能的。

【问题讨论】:

    标签: r function ellipsis


    【解决方案1】:

    您不需要编写自己的函数。您可以使用paste 来执行此操作。

    paste(1:3,collapse=",")
    # [1] "1,2,3"
    

    【讨论】:

    • 意识到我不需要为此编写任何单独的函数。这是一个愚蠢的问题......
    【解决方案2】:

    或者,如果你坚持使用ppc() 函数:

    ppc <- function(...) paste(...,sep=",")
    ppc(1,2,3,4)
    

    【讨论】:

    • 我写了printSepbyComma &lt;- function(...) print(paste(...,sep=','))
    猜你喜欢
    • 2021-11-22
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 2015-01-26
    • 2013-04-25
    相关资源
    最近更新 更多