我需要使用自定义函数作为分组条件从我的数据框创建行组。该函数将比较两对行,如果这些行应该组合在一起,则返回true/false。基于true/false函数的数据框中的R组行对
在一个实例中的数据集,如:
id field code1 code2
1 textField1 055 066
2 textField2 100 120
3 textField3 300 350
4 textField4 800 450
5 textField5 460 900
6 textField6 490 700
...
的功能通过对检查行字段之间一定的规则(函数(ROW1,ROW2)),并返回TRUE/FALSE如果这些行应一起。
我需要将该函数应用于数据框中的所有posible对,并生成一个列表(或其他结构),其中所有ID都匹配在一起。该功能适用于每一对
一种方式显示在this answer:
lapply(seq_len(nrow(df) - 1),
function(i){
customFunction(df[i,], df[i+1,])
})
但我不能想办法到组,进行了TRUE作为结果
编辑行:再阅读我的问题,似乎需要一个例子:
如果我们创建了一个包含所有可能组合的矩阵,结果将为:
个 [,1] [,2] [,3] [,4] [,5] [,6]
[1,] TRUE FALSE FALSE FALSE FALSE FALSE
[2,] FALSE TRUE TRUE TRUE FALSE FALSE
[3,] FALSE TRUE TRUE FALSE FALSE FALSE
[4,] FALSE TRUE FALSE TRUE FALSE FALSE
[5,] FALSE FALSE FALSE FALSE TRUE TRUE
[6,] FALSE FALSE FALSE FALSE TRUE TRUE
,得到的组会,那么:
1
2,3,4
5,6
目前尚不清楚,如果你只是想聚合所有'TRUE's在一起和所有'FALSE'在一起,或者你只是想聚合连续的'TRUE'和'FALSE'。例如,如果你得到'T,T,T,F,F,T,T',那么输出将是'1,2,3',然后是'4,5',然后是'6,7'?或者你只是'1,2,3,6,7'和'4,5'?或者可能有第三种选择? – 2015-02-24 16:58:27
将示例更改为另一个示例。这是一个更好的解释,我试图完成什么? – Rwak 2015-02-24 17:12:34