gpt4 book ai didi

r - 在 R 中将具有各种长度向量的列表转换为 data.frame 的最简单方法

转载 作者:行者123 更新时间:2023-12-04 09:35:54 24 4
gpt4 key购买 nike

在这里,我有一个具有不同长度向量的列表。我想要一个data.frame。我在 SO 中看到了很多关于它的帖子(参见 ref),但没有一个像我预期的那么简单,因为这确实是数据预处理中的一项常见任务。谢谢你。

这里最简单的意思是 as.data.frame(aa) 如果它有效。因此,R 基础包中的一个函数会很棒。 sapply(aa, "length<-", max(lengths(aa))) 实际上有四个功能。

一个例子如下所示。

输入:

aa <- list(A=c(1, 3, 4), B=c(3,5,7,7,8))

输出:
A B
1 3
3 5
4 7
NA 7
NA 8

A 和 B 是 data.frame 的列名。

一个答案是 sapply(aa, '[', seq(max(sapply(aa, length)))) ,但它也很复杂。

引用:
  • How to convert a list consisting of vector of different lengths to a usable data frame in R?
  • Combining (cbind) vectors of different length
  • 最佳答案

    我们可以用

    data.frame(lapply(aa, "length<-", max(lengths(aa))))

    关于r - 在 R 中将具有各种长度向量的列表转换为 data.frame 的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33613337/

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