2014-02-17 2 views
1

Данные списка «lt» ниже.как сделать связанные данные/edgelist в R

[[1]] 
"f24j"  "mirror"  "heliostat" "reflect"  "photo"  "solar"  "sun"   
[[2]] 
"imag"  "radiation" "sens"  "detect"  
[[3]] 
"mesur"  "chas"  "captur"  
... 

Я хочу, чтобы результат-данные "ЛТ" ..

var1  var2 
1 f24j  mirror 
2 f24j  heliostat 
3 f24j  reflect 
4 f24j  photo 
5 f24j  solar 
6 f24j  sun 
7 mirror heliostat 
8 mirror reflect 
9 mirror photo 
10 mirror solar 
11 mirror sun 
12 heliostat reflect 
13 heliostat photo 
14 heliostat solar 
15 heliostat sun 
16 reflect photo 
17 reflect solar 
18 reflect sun 
19 photo  solar 
20 photo  sun 
21 solar  sun 
22 img  radiation 
23 img  sens 
24 img  detect 
25 radiation sens 
26 radiation detect 
27 sens  detect 
28 mesur  chas 
29 mesur  captur 
30 chas  captur 
... 

Я не знаю, как получить этот результат I в R

ответ

1

Попробуйте это:

ll = list(letters[1:5], letters[6:8], letters[9:12]) 
ans = unlist(lapply(ll, combn, m=2, simplify=FALSE), recursive=FALSE) 

, используя собственный список вместо ll.

+0

Это потрясающе! Большое спасибо ~ ^^ – user3317871

+0

Спасибо. Если он решил вашу проблему, вы, вероятно, захотите принять ответ, нажав на стрелку рядом с ответом. – asb