2013-12-08 128 views
0

我有data.frames(列表1)和另一個列表(列表2)與名字,我想在列表1使用的名單,但是當我用下面的循環我作爲返回列表2:如何在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

的問題造成的,因爲在列表2的名字,如果我用數字來代替列表2的名稱問題消失

+1

。你能把它寫成更完整的解決方案嗎? –

1

在你的榜樣,在list2字符串是相同的列名數據幀在list1。因此,修改名稱的另一種方法是使用`unname()`來修改名稱,即

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