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

2024-04-01

这里我有一个包含不同长度向量的列表。我想要一个数据框。我在 SO 中看到了很多关于它的帖子(请参阅参考文献),但它们都没有我预期的那么简单,因为这确实是数据预处理中的常见任务。谢谢。

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

一个例子如下所示。

Input:

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

Output:

A B
1 3
3 5
4 7
NA 7
NA 8

A 和 B 是 data.frame 的名称。

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

ref:

  1. 如何将由不同长度的向量组成的列表转换为R中可用的数据框? https://stackoverflow.com/questions/15201305/how-to-convert-a-list-consisting-of-vector-of-different-lengths-to-a-usable-data

  2. 组合(cbind)不同长度的向量 https://stackoverflow.com/questions/5531471/combining-unequal-columns-in-r


我们可以用

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

或者使用tidyverse

library(dplyr)
library(tibble)
library(tidyr)
enframe(aa) %>%
    unnest(value)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将具有各种长度向量的列表转换为 R 中的 data.frame 的最简单方法 的相关文章

  • k折交叉验证 - 如何自动获得预测?

    这可能是一个愚蠢的问题 但我只是找不到一个包来做到这一点 我知道我可以编写一些代码来获得我想要的东西 但如果有一个函数可以自动完成它那就太好了 所以基本上我想对 glm 模型进行 k 倍交叉验证 我想自动获取每个验证集的预测和实际值 因此
  • 按新年拆分日期行

    我有来自一家医院的包含许多变量的数据 以及每行的起始日期和截止日期 这告诉我们每行何时 有效 每行的有效期最长为一年 test data frame ID c 10 10 10 12 12 Disease c P P P D P Pass
  • Python3 查找 2 个列表中有多少个差异才能相等

    假设我们有 2 个列表 always具有相同的长度和always包含字符串 list1 sot sot ts gg gg gg list2 gg gg gg gg gg sot 我们需要找到 其中有多少项list2应该改变 以便它等于lis
  • 使用 glmnet 纠正 n 个数据集上的 n 个 LASSO 回归的输出(严格来说是所选的特征/变量)

    注意 这是对上一个问题 https stackoverflow com questions 75006466 how to replicate my results from running n lassos iteratively usi
  • R 中的 aov() 错误术语:bw Error(id) 和 Error(id/timevar) 规范有什么区别?

    两者有什么区别aov depvar timevar Error id 和aov depvar timevar Error id timevar 配方规格 这两种变体产生略有不同的结果 同样的问题曾经在这里被问过 https stats st
  • 使用循环将对象添加到列表(python)

    我正在尝试使用 while 循环将对象添加到列表中 基本上这就是我想做的 class x pass choice raw input pick what you want to do while choice 0 if choice 1 E
  • 消除垂直线ggplot

    这个问题以前曾被问过 但答案并不总是明确或很复杂 我希望 ggplot2 的新版本能够带来更简单的解决方案 如何仅消除 ggplot 的垂直线而不消除轴刻度线或标签 这对于条形图来说确实很好 因为它可以消除图形中一些不必要的干扰 这里有一些
  • Pandas 在特定列将数据帧拆分为两个数据帧

    I have pandas我组成的 DataFrameconcat 一行由 96 个值组成 我想将 DataFrame 从值 72 中分离出来 这样 一行的前 72 个值存储在 Dataframe1 中 接下来的 24 个值存储在 Data
  • 从拟合的 lm 或 glm [R] 获取每个因子水平(以及交互作用)的数据数量

    我在 R 中有一个逻辑回归模型 其中所有预测变量都是分类变量而不是连续变量 除了响应变量 它显然也是分类 二元变量 打电话时summary model name 有没有办法在每个因子水平中包含一个表示观测值数量的列 我在 R 中有一个逻辑回
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们
  • 将 R 中的列中的单引号替换为双引号

    我在 R 中的数据框有一个 A 列 其中有带单引号的字符串数据 Column A Hello World Hi World Good morning world 我想做的是将单引号替换为双引号并实现如下所示的输出 Column A Hell
  • R闪亮:在渲染表格时显示“正在加载...”消息

    在 Rstudio Shiny 中 我得到了一些renderDataTable通过 RMySQL 从数据库获取信息的调用 有些查询可能需要几秒钟才能完成 我想添加一条 正在加载 消息 其中表格将在等待时最终呈现 这个问题与这个问题类似 R闪
  • 动态添加 pandas 数据框中的列

    我有以下代码来加载数据框 import pandas as pd ufo pd read csv csv path print ufo loc 0 1 2 给出以下输出 请参阅 csv 的结构 City Colors Reported Sh
  • 如何使用 Dart 将列表拆分或分块为相等的部分?

    假设我有一个类似的列表 var letters a b c d e f g h 我想要一个列表 每个列表包含 2 个元素 var chunks a b c d e f g h 使用 Dart 执行此操作的好方法是什么 这是另一种方法 var
  • 一起使用 R6 类和 foreach() %dopar% 的问题

    当与 foreach 一起使用时 我在 R6 类上遇到问题 可能与环境有关 我使用的是 Windows 假设有两个 R6 类 class1 和 class2 class1 中的 method1 依赖于 class2 例如 请参见下面的示例代
  • 如何在 nlme 与 lme4 中指定不同的随机效应?

    我想使用指定模型中的不同随机效应nlme lme 数据在底部 随机效应是 1 intercept and position变化超过subject 2 intercept变化超过comparison 这很简单 使用lme4 lmer lmer
  • Python 将列表中的字符串转换为数字

    我遇到了以下错误消息 以 10 为基数的 int 的文字无效 2 2 外部用单引号括起来 内部用双引号括起来 该数据位于primes列出使用print primes 0 样本数据在primes list 2 3 5 7 The primes
  • 如何与 R 包 sf 进行“完整”联合

    我尝试使用三个多边形之间的并集sf st union 下图中显示了 ArcGIS Overlay Union All 的结果 我希望通过使用 R 中的 sf 包获得与 OUTPUT 中五个不同多边形类似的结果 library sf a1 l
  • 使用 ggplot2 和 geom_area 堆叠负/正时间序列

    我正在尝试重现一个堆积的时间序列图 该图显示银行资产负债表的构成和规模如何随时间变化 它应该看起来像这样 资产位于 x 轴上方 负债位于 x 轴下方 到目前为止 我已经能够使用以下方法成功重现图表的每一半ggplot plot assets
  • 如何将表输出复制到剪贴板?

    我试图通过单击按钮将表输出复制到剪贴板 我尝试查看 rclipboard 包 但以我有限的理解 它似乎无法复制输出 我添加了一个actionButton屏幕截图中带有一个图标来显示我想要实现的目标 现在按钮没有任何作用 Code libra

随机推荐