gpt4 book ai didi

r - 在 R 中取消列出并保留完整的列表名称

转载 作者:行者123 更新时间:2023-12-01 16:18:37 25 4
gpt4 key购买 nike

我有类似的数据:

listdata <- list(matrix(c(1,1,1,1,3,3,3,3),nrow=2,ncol=4),matrix(c(1,1,1,1,2,2,2,2),nrow=2))
names(listdata) <- c("5555","5566")

RowData <- lapply(listdata, "rownames<-", c("from","to"))

FrameData <- lapply(RowData, function(x) as.data.frame(x))

现在我根据需要取消列出列表,但列表名称已更改。如何保留列表名称?

as.matrix(unlist(FrameData))

没有 .V11 列名的想要的输出:

       [,1]
5555 1
5555 1
5555 1
5555 1
5555 3
5555 3
5555 3
.....
.....

编辑:这不是一个很好的例子,因为在我的例子中我没有 5555.V1 但只添加数字:1,2,3,4... 所以我有实际上是这样的:

    [,1]
55551 1
55552 1
55553 1
55554 1
55555 3
....
555536 3
555537 3
.....

Rname <- rownames(listdata)
strtrim(Rname, nchar(Rname)-1)

问题是编号在增加...所以问题是定义y nchar(x)-y

最佳答案

library(reshape2)

melt(FrameData)
#Using as id variables
#Using as id variables
# variable value L1
#1 V1 1 5555
#2 V1 1 5555
#3 V2 1 5555
#4 V2 1 5555
#5 V3 3 5555
#6 V3 3 5555
#7 V4 3 5555
#8 V4 3 5555
#9 V1 1 5566
#10 V1 1 5566
#11 V2 1 5566
#12 V2 1 5566
#13 V3 2 5566
#14 V3 2 5566
#15 V4 2 5566
#16 V4 2 5566

关于r - 在 R 中取消列出并保留完整的列表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23788281/

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