尽管阅读了文档,但我很难理解函数参数在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
答案 0 :(得分:5)
问题是该函数将只收到一个参数。该参数将是该特定集合中元素的向量。 /
函数需要两个单独的参数,而不是单个值向量。相反,你可以写
combn(table[,1], 2, FUN = function(x) x[1]/x[2])
所以这里我们得到一个参数x
,我们将第一个值除以第二个。
其他功能,例如
combn(1:4, 2, FUN = sum)
工作得很好,因为他们希望收到一个值向量。