2013-03-14 3 views
4

У меня есть список TF2Gene [1326], который выглядит какОбъединить список списков в R

view(TF2Gene) 

structure(list(Sp1=c("a","b","c"),p53=c("x","y","z"),Elk1=c("1","2","3"),...)) 

Таким образом, ее в основном список 1326 списков.

Теперь я хочу объединить значения этих списков в 1, чтобы я мог найти уникальные элементы. Что я делаю:

cols <- unique(unlist(TF2Gene))  

Это правильно?

+1

Я думаю, что вы смешиваете термины здесь ... у вас есть список, элементы которого являются векторами. Вы хотите объединить их в каждый элемент списка? как в: abc, xyz, 123 и т. д.? – Arun

+1

Итак, в приведенных выше значениях вы хотели бы получить 9 уникальных значений? Вектор вектора 'c (" a "," b "," c "," x "," y "," z "," 1 "," 2 "," 3 ")'? –

+0

@ user1844024, для списка, который вы показали, какой результат вы ожидаете? – Arun

ответ

4

Да, это правильный способ сделать это. В приведенном выше примере результатом будет вектор:

c("a", "b", "c", "x", "y", "z", "1", "2", "3") 
2

Это будет работать, только если ваши списки имеют атомные элементы. Мой обычно нет. Попробуйте это вместо этого.

do.call(c, list (list(3,4,5) , list("a","b"))) 
[[1]] 
[1] 3 

[[2]] 
[1] 4 

[[3]] 
[1] 5 

[[4]] 
[1] "a" 

[[5]] 
[1] "b" 
Смежные вопросы