我想根据两列中的值来总结一个数据框,除了每列实际上有相同的变量,我不在乎什么订单是。下面是一个简单的数据帧: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