函数参数如何在R''combn'中起作用?

dec*_*lts 2 combinations functional-programming r

尽管阅读了文档,但我仍在努力理解函数参数在函数中的作用combn.

我有一个包含两列数据的表,对于每一列,我想计算该列中每个唯一数据对组合的比率.为简单起见,我们只关注一列:

    V1
1   342.3
2   123.5
3   472.0
4   678.3
...
14  567.2
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令返回所有独特的组合:

combn(table[,1], 2)
Run Code Online (Sandbox Code Playgroud)

但当然这只会返回每对价值观.我想把它们分开以得到一个比例,但似乎无法弄清楚如何设置它.

据我所知,outer例如,你可以只提供运算符作为参数但是如何转移到combn

combn(table[,1], 2, FUN = "/")   
# obviously not correct
Run Code Online (Sandbox Code Playgroud)

MrF*_*ick 5

问题是该函数将只接收一个参数.该参数将是该特定集合中元素的向量.该/函数需要两个单独的参数,而不是单个矢量值.相反,你可以写

combn(table[,1], 2, FUN = function(x) x[1]/x[2]) 
Run Code Online (Sandbox Code Playgroud)

所以这里我们得到一个参数x,我们将第一个值除以第二个值.

其他功能如

combn(1:4, 2, FUN = sum)
Run Code Online (Sandbox Code Playgroud)

工作得很好,因为他们希望收到一个值向量.