我需要使用自定義函數作爲分組條件從我的數據框創建行組。該函數將比較兩對行,如果這些行應該組合在一起,則返回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