我有一个data.frames(list1)列表和另一个列表(list2),其中包含我想在list1中使用的名称,但是当我使用以下循环时,我得到了返回list2:
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 :(得分:1)
在您的示例中,list2
中的字符串与list1
中数据框的行名称相同。因此,修改名称的另一种方法是
names(list1[[1]]) <- rownames(list1[[1]][[1]])
答案 1 :(得分:0)
问题是由于list2上的名称引起的,如果我用数字替换list2的名称,问题就会消失