2013-03-05 21 views
1

我有一個貨幣符號列表,但他們一起成對,並不能違背自己。下面是一個例子:子集獨特配對

ccy <- c("USD","EUR","JPY","GBP","CAD","AUD","NZD","CHF","NOK","SEK") 
g <- expand.grid(ccy,ccy) 
g <- g[g[,1]!=g[,2],] 

美元VS歐元,是歐元的只是倒數相對美元或歐元VS日圓JPY VS歐元的正好相反,所以我想消除這些從data.frame

是否有從列表中獲取唯一對的程序化方法?

回答

4

使用combn()

combn(ccy, 2) 
    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] 
[1,] "USD" "USD" "USD" "USD" "USD" "USD" "USD" "USD" "USD" "EUR" "EUR" "EUR" "EUR" "EUR" "EUR" "EUR" 
[2,] "EUR" "JPY" "GBP" "CAD" "AUD" "NZD" "CHF" "NOK" "SEK" "JPY" "GBP" "CAD" "AUD" "NZD" "CHF" "NOK" 
    [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] 
[1,] "EUR" "JPY" "JPY" "JPY" "JPY" "JPY" "JPY" "JPY" "GBP" "GBP" "GBP" "GBP" "GBP" "GBP" "CAD" "CAD" 
[2,] "SEK" "GBP" "CAD" "AUD" "NZD" "CHF" "NOK" "SEK" "CAD" "AUD" "NZD" "CHF" "NOK" "SEK" "AUD" "NZD" 
    [,33] [,34] [,35] [,36] [,37] [,38] [,39] [,40] [,41] [,42] [,43] [,44] [,45] 
[1,] "CAD" "CAD" "CAD" "AUD" "AUD" "AUD" "AUD" "NZD" "NZD" "NZD" "CHF" "CHF" "NOK" 
[2,] "CHF" "NOK" "SEK" "NZD" "CHF" "NOK" "SEK" "CHF" "NOK" "SEK" "NOK" "SEK" "SEK" 

功能combn從輸入向量生成長度n的所有獨特的組合。

請參閱?combn瞭解更多詳情。

+0

簡單又快速,永遠愛學習新功能!謝謝 – 2013-03-05 13:46:51