如何更改每个列表组件的向量名称

我有一个清单:

alist <- list(x = c(1, 2, 3),
              y = c(4, 5, 6))

> alist 
$x 
[1] 1 2 3
    
$y 
[1] 4 5 6

我想为每个列表组件命名,使其成为:

> alist 
$x 
t1 t2 t3
1  2  3
            
$y 
t1 t2 t3
4  5  6

我尝试使用lapply()

lapply(alist, function(x) names(x) <- c("t1","t2","t3"))

但输出是:

$x
[1] "t1" "t2" "t3"

$y
[1] "t1" "t2" "t3"

这里有什么问题?我如何在这里正确使用 lapply?因为我有一个相当大的清单。

回答

一种选择可能是:

lapply(alist, setNames, c("t1","t2","t3"))

$x
t1 t2 t3 
 1  2  3 

$y
t1 t2 t3 
 4  5  6 


回答

代码没有错,只是return应该是原始数据

lapply(alist, function(x) {
      names(x) <- c("t1","t2","t3");
       x})


以上是如何更改每个列表组件的向量名称的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>