我想根據兩列中的值來總結一個數據框,除了每列實際上有相同的變量,我不在乎什麼訂單是。下面是一個簡單的數據幀:dplyr :: group_by兩列相同的變量,順序並不重要
> df<-data.frame(val1=c(1,1,1,2,2), val2=c(1,2,2,1,1), val3=c(10, 20, 30, 40, 50))
> df
val1 val2 val3
1 1 1 10
2 1 2 20
3 1 2 30
4 2 1 40
5 2 1 50
我很感興趣,總結了val3
除了我只關心val1
和val2
的無序組合。因此,例如,我想治療
val1 val2 val3
1 1 2 20
一樣
val1 val2 val3
1 2 1 40
我可以列使用dplyr分組和總結是這樣的:
> df %>% group_by(val1, val2) %>% summarize(mean=mean(val3))
Source: local data frame [3 x 3]
Groups: val1 [?]
val1 val2 mean
<dbl> <dbl> <dbl>
1 1 1 10
2 1 2 25
3 2 1 45
但我想這個結果只包含兩行!
我想過創建一個新變量,它反映了val1
和val2
的組合,然後按組合,但無法找到一個簡單的方法。 val1
和val2
不必是數字,並且可能不總是連續的整數。
也相關:http://stackoverflow.com/q/15495795/和http://stackoverflow.com/q/28047997/ – Frank