data.frame from lists in list,奇怪的列名

nfzehxib  于 2023-03-27  发布在  其他
关注(0)|答案(2)|浏览(113)

我正试图从一个“列表中的列表”中创建一个data.frame

l <- list(c("sam1", "GSM6683", "GSM6684", "GSM6687", "GSM6688"), c("sam2", 
"GSM6681", "GSM6682", "GSM6685", "GSM6686"))
df <- data.frame(l)

1)我得到了一个带有奇怪列名的data.frame,我该如何避免呢?2)我想从list中的内部列表的第一个元素中获取列名
像这样:

column names: sam1, sam2
row1 GSM6683 GSM6681
row2 GSM6684 GSM6682
row3 GSM6687 GSM6685
row4 GSM6688 GSM6686
kkbh8khc

kkbh8khc1#

您几乎已经完成了,因为您希望sam1sam2是列名,所以不需要将它们作为列表的一部分并指定它们是列名。

>l <- list(c("GSM6683", "GSM6684", "GSM6687", "GSM6688"), c( 
    "GSM6681", "GSM6682", "GSM6685", "GSM6686"))
>df <- data.frame(l)
>colnames(df)<-c("sam1", "sam2")
nnt7mjpx

nnt7mjpx2#

如果您从示例中的数据结构开始,请执行以下操作:

df <- data.frame(lapply(l, function(x) x[-1]))
names(df) <- lapply(l, function(x) x[1])

如果你可以选择如何构造数据结构,请按照R_Newbie在他的答案中所说的去做。

相关问题