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)
问题是该函数将只接收一个参数.该参数将是该特定集合中元素的向量.该/
函数需要两个单独的参数,而不是单个矢量值.相反,你可以写
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)
工作得很好,因为他们希望收到一个值向量.