gpt4 book ai didi

带有 lapply 的 data.frames 列表中的 R 名称 colnames 和 rownames

转载 作者:行者123 更新时间:2023-12-01 06:59:17 26 4
gpt4 key购买 nike

我很沮丧,因为我不知道如何在 data.frames 列表中实现列和行的命名。我的意思是我想避免使用循环。所以我想我可以只使用 lapply。
好的,首先我有以下列表:

>a
$nem.greedyMAP.FALSE.POS
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA
9 NA NA NA NA NA NA NA NA NA NA
10 NA NA NA NA NA NA NA NA NA NA

$nem.greedyMAP.FALSE.NEG
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA
9 NA NA NA NA NA NA NA NA NA NA
10 NA NA NA NA NA NA NA NA NA NA

当然,这个列表要大得多,否则我就不值得麻烦了。
但是,我想将所有 data.frames 的列和行重命名为相同的名称。
所以我虽然可以使用:
lapply(a, function(x) {colnames(x) <- paste("col",1:10,sep="")})

但什么也没有发生。我怎么能做到这一点。或者是 lapply 错误的方式?

谢谢

最佳答案

您需要记住对象 xlapply不是原始对象,而是副本。更改 colnames副本不会影响原始对象。您需要返回 x以获得包含新名称的对象的新副本。

new_obj = lapply(a, function(x) {
colnames(x) <- paste("col",1:10,sep="")
return(x)
})

关于带有 lapply 的 data.frames 列表中的 R 名称 colnames 和 rownames,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17639987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com