2014-11-14 47 views
-1

我需要一些幫助來查找數據框中的所有配對值。我知道骨料和計數功能,但我有點掛了,因爲我有一列屬性的變化量..查找與R的所有配對組合

的樣本數據:

  dfs.V2 
1   51,26,48 
2    51 
3    32 
4    26 
5    92,26 
6    94 
7    94 
8    24 
9    26 
10   48,51 
11    32 
12    32 
13   25,126 
14    32 
15   25,24 
16    32 
17   92,48 
18    32 
19   118,48 
20    32 
21    32 
22    32 
23   51,94 
24    26 
25    48 
26    32 
27    48 
28    32 
29   51,48 
30    32 
31  50,118,92 
32    32 
33 24,48,26,51,92 
34    32 
35    32 
36    26 
37  25,24,48,50 
38    32 
39    26 
40    32 
41 114,24,25,51,92 
42 50,51,24,48,118 


The example output 
51,26: [count] 
51,48: [count] 
26,48: [count] 

enter code here 

等。

訂購問題,例如一對51,26和26,51應計爲兩個相同的組合,而不是單獨一個計數。

不,不是家庭作業,只是我正在使用與我的工作相關的現實世界數據在空閒時間教自己的一個副項目。

回答

0

我假設你想根據同一行中的數字確定配對。例如51,26,48分別獲得一對數{26,51} {26,48}和{48,51}

v2 <- c('51,26,48', '51', '32', '26', '92,26', '94', '94', '24', '26', '48,51', '32', '32', '25,126', '32', '25,24', '32', '92,48', '32', '118,48', '32', '32', '32', '51,94', '26', '48', '32', '48', '32', '51,48', '32', '50,118,92', '32', '24,48,26,51,92', '32', '32', '26', '25,24,48,50', '32', '26', '32', '114,24,25,51,92', '50,51,24,48,118') 

v2 <- strsplit(v2, split = ',') 

comb <- lapply(v2, function(x) if (length(x) > 1) combn(sort(as.numeric(x)), 2)) 
comb <- do.call(cbind, comb) 

result <- as.data.frame(table(paste(comb[1,], comb[2,], sep = ','))) 
head(result) 
#  Var1 Freq 
# 1 24,114 1 
# 2 24,118 1 
# 3 24,25 3 
# 4 24,26 1 
# 5 24,48 3 
# 6 24,50 2