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

时间:2014-06-20 23:13:15

标签: r functional-programming combinations

尽管阅读了文档,但我很难理解函数参数在combn实用程序中是如何工作的。

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

    V1
1   342.3
2   123.5
3   472.0
4   678.3
...
14  567.2

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

combn(table[,1], 2)

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

我理解,对于类似outer的内容,您可以只提供运算符作为参数但是如何将其转移到combn

combn(table[,1], 2, FUN = "/")   
# obviously not correct

1 个答案:

答案 0 :(得分:5)

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

combn(table[,1], 2, FUN = function(x) x[1]/x[2]) 

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

其他功能,例如

combn(1:4, 2, FUN = sum)

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