gpt4 book ai didi

r - 如何为矩阵或数据框列表设置行名?

转载 作者:行者123 更新时间:2023-12-01 23:55:50 25 4
gpt4 key购买 nike

我有一个列表,它由每个元素中的数据框组成。我想将每个数据框的列之一设置为它的行名称。但是当我这样做时,我失去了数据的维度。

这是我的数据和努力的例子:

> ismr2[[1]][1:4,]
mature ID RPM
1 mature MIMAT0000062 49791.5560
2 mature MIMAT0000063 92858.1285
3 mature MIMAT0000064 10418.8532
4 mature MIMAT0000065 404.7618
>

我的努力;

ismr3<-lapply(ismr2, function(x){ row.names(x)<-as.character(x$ID) })


> dim(ismr3[[1]])
NULL
>

在 row.name 操作之前列表的第一个元素的维度是:

> dim(ismr2[[1]])
[1] 447 3

有人能帮我解决这个问题吗?

最佳答案

我在此处添加@Roland 的回答,这样问题就得到了回答。

ismr3 <- lapply(ismr2, function(x){ row.names(x)<-as.character(x$ID); x})

重要的是 lapply 里面的函数实际上返回了要添加到列表中的值。只有 row.names<-赋值,从中返回的值只是行名本身。因此,因为每个赋值都返回一个字符向量,所以您没有创建一个具有 dim() 的对象。属性。 (原子向量有 length ,而不是 dim )。

关于r - 如何为矩阵或数据框列表设置行名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23893614/

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