list1
包含几个方阵,每个方阵都以此方式命名
$name1
[,1] [,2] [,3] [,4] [,5]
[1,] 0.1997578 0.0000 0.0000 0.0000 0.0000
[2,] 0.0000000 0.2025 0.0000 0.0000 0.0000
我将eigen.analysis
应用于list1
,然后元素名称在结果(list2
)中消失了。因此,在元素顺序不变的假设下,我必须使用list2
的名称来重命名list1
中的所有元素。如何解决我的代码,以便跳过名称重新分配步骤?谢谢!
list2<- lapply(seq_along(list1), function(i){
eigen.analysis(list1[[i]])
})
names(list2) <- names(list1)
这是list2
之前names()
命令的样子
[[1]]
[[1]]$lambda1
[1] 0.2025
我希望我的结果会
$name1
$name1$lambda1
[1] 0.2025
lapply(seq_along())
和lapply(names())
都使名字消失了。
答案 0 :(得分:2)
与其使用lapply将函数应用于来自seq_along
的索引,不应该将函数直接应用于list1
:
list2<- lapply(list1, function(x){
eigen.analysis(x)
})
如果您以这种方式使用list2
,则应命名 lapply()