2013-12-08 2 views
0

У меня есть список data.frames (LIST1) и другой список (list2) с именами, которые я хотел бы использовать в list1, однако, когда я использую следующий цикл я получил в качестве возвратного list2:Как установить имена во вложенном списке в R?

for (j in 1:length(list1)){ 
    names(list1[[j]]) <- list2[[j]] } 

Любые идеи? когда я установил имена один за другим не бывает:

names(list1[[1]]) <- list2[[1]] 

Вот пример того, как два моих выглядит как (я попытался включить dput для моего списка, но она превышает количество символов) :

>list1[1] 
$cluster.1 
$cluster.1[[1]] 
     lineNum count 
HSP90AB1  1  2 
INMT   2  1 
CKB   3  1 
NR2E1   4  1 
ME3   5  0 
FAM162A  6  1 
KIRREL2  7  0 

$cluster.1[[2]] 
     lineNum count 
HSP90AB1  1  1 
INMT   2  0 
CKB   3  0 
NR2E1   4  0 
ME3   5  1 
FAM162A  6  0 
KIRREL2  7  1 

$cluster.1[[3]] 
     lineNum count 
HSP90AB1  1  1 
INMT   2  0 
CKB   3  0 
NR2E1   4  0 
ME3   5  1 
FAM162A  6  0 
KIRREL2  7  0 

$cluster.1[[4]] 
     lineNum count 
HSP90AB1  1  1 
INMT   2  0 
CKB   3  0 
NR2E1   4  0 
ME3   5  0 
FAM162A  6  0 
KIRREL2  7  0 

$cluster.1[[5]] 
     lineNum count 
HSP90AB1  1  0 
INMT   2  1 
CKB   3  1 
NR2E1   4  0 
ME3   5  0 
FAM162A  6  0 
KIRREL2  7  0 

$cluster.1[[6]] 
     lineNum count 
HSP90AB1  1  1 
INMT   2  0 
CKB   3  0 
NR2E1   4  0 
ME3   5  0 
FAM162A  6  0 
KIRREL2  7  0 

$cluster.1[[7]] 
     lineNum count 
HSP90AB1  1  0 
INMT   2  1 
CKB   3  0 
NR2E1   4  0 
ME3   5  0 
FAM162A  6  0 
KIRREL2  7  0 

>list2[1] 
$cluster.1 
[1] "HSP90AB1" "INMT"  "CKB"  "NR2E1" "ME3"  "FAM162A" "KIRREL2" 

ответ

0

проблема вызвана тем, что имена на list2, если я заменю имена list2 чисел проблем исчезают

+1

или использовать 'unname()'. Можете ли вы написать это как более полное решение? –

1

в вашем примере, строки в list2 идентичны имена строки данных в list1. Следовательно, другим способом изменения имен является

names(list1[[1]]) <- rownames(list1[[1]][[1]]) 
Смежные вопросы