如何将列表列转换为 R 中 tibble 中的向量

2023-12-30

我试图折叠下面的小标题(称为数据)中的“周”列,以便结果是具有两列的小标题:1 表示周,另一列表示相关值。由于周列是一个列表,我不知道该怎么做。能否请你帮忙?

> head(data)
# A tibble: 6 x 1
  ``$Weeks   $Value
  <list>      <dbl>
1 <date [9]>     30
2 <date [3]>     20
3 <date [3]>     15
4 <date [5]>     10
5 <date [2]>      9
6 <date [9]>      5

期望的结果如下:

      $Weeks   $Value
      <Date>      <dbl>
 1  "2019-01-01     30
 2  "2019-01-08     30
 3  "2019-01-15     30
 etc..

当前结构:

  > str(data)
List of 1
 $ :Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   7 obs. of  2 variables:
  ..$ Weeks:List of 7
  .. ..$ : Date[1:9], format: "2018-11-11" "2018-11-18" "2018-11-25" "2018-12-02" ...
  .. ..$ : Date[1:3], format: "2018-12-02" "2018-12-09" "2018-12-16"
  .. ..$ : Date[1:3], format: "2018-12-23" "2018-12-30" "2019-01-06"
  .. ..$ : Date[1:5], format: "2018-11-04" "2018-11-11" "2018-11-18" "2018-11-25" ...
  .. ..$ : Date[1:2], format: "2018-11-25" "2018-12-02"
  .. ..$ : Date[1:9], format: "2018-11-18" "2018-11-25" "2018-12-02" "2018-12-09" ...
  .. ..$ : Date[1:14], format: "2018-09-30" "2018-10-07" "2018-10-14" "2018-10-21" ...
  ..$ Value: num [1:7] 30 20 15 10 9 5 6

输出(数据)

> dput(data)
list(structure(list(Weeks = list(structure(c(17846, 17853, 17860, 
17867, 17874, 17881, 17888, 17895, 17902), class = "Date"), structure(c(17867, 
17874, 17881), class = "Date"), structure(c(17888, 17895, 17902
), class = "Date"), structure(c(17839, 17846, 17853, 17860, 17867
), class = "Date"), structure(c(17860, 17867), class = "Date"), 
    structure(c(17853, 17860, 17867, 17874, 17881, 17888, 17895, 
    17902, 17909), class = "Date"), structure(c(17804, 17811, 
    17818, 17825, 17832, 17839, 17846, 17853, 17860, 17867, 17874, 
    17881, 17888, 17895), class = "Date")), Value = c(30, 20, 
15, 10, 9, 5, 6)), row.names = c(NA, -7L), class = c("tbl_df", 
"tbl", "data.frame")))

编辑后的答案

好的,所以你的原始数据存储为列表,这不允许unnest()函数按预期运行。我们需要首先提取元素。然后,因为您的列表列本身就是列表列表,所以我们必须使用map提取出我们想要的东西。 下面的解决方案解决了这个问题,并给你你想要的。

  > data[[1]] %>%
      mutate(Weeks = map(Weeks, ~ tibble(Weeks =.x))) %>%
      unnest()

Output:

  # A tibble: 45 x 2
    Value Weeks     
    <dbl> <date>    
  1    30 2018-11-11
  2    30 2018-11-18
  3    30 2018-11-25
  4    30 2018-12-02
  5    30 2018-12-09
  6    30 2018-12-16
  7    30 2018-12-23
  8    30 2018-12-30
  9    30 2019-01-06
 10    20 2018-12-02

原答案:

正如 akrun 在评论中所说,你可以这样做unnest(data, Weeks).

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

如何将列表列转换为 R 中 tibble 中的向量 的相关文章

随机推荐

  • 如何修复 PyCharm 上的 vcvarsall 错误? [复制]

    这个问题在这里已经有答案了 我使用的是 64 位 Windows 7 SP1 我有 PyCharm 社区版 4 0 4 和 Python 3 4 2 我想在 PyCharm 中安装新包 在 PyCharm 中 当我去File gt Sett
  • HTML5离线认证

    我正在寻求有关如何最好地控制对主要离线使用的 HTML5 应用程序的访问的建议 批评 该应用程序使用 IndexedDB 本地和会话存储的组合来存储数据 以便可以离线使用 数据 页面通过 HTTPS 提供 目的是最大限度地降低平板电脑 个人
  • 如何制作可移植的 isnan/isinf 函数

    我一直在使用isinf isnanLinux 平台上的功能完美运行 但这在 OS X 上不起作用 所以我决定使用std isinf std isnan它可以在 Linux 和 OS X 上运行 但英特尔编译器无法识别它 我猜这是英特尔编译器
  • 重新启动以循环迭代列表python3

    蟒蛇 3 6你好 我试图用 for 循环迭代列表 只要条件得到确认 我就必须重新启动循环 在C中我会这样做 for i 0 i lt 10 i if list i something i 0 在这里我试图这样做 for x in listP
  • Android 应用程序因 Vitamio 库而崩溃

    我已经为 Android 应用程序上的流媒体视频编写了一个简单的代码 我使用了 Vitamio 库 遵循了所有必要的步骤来集成到项目中 视频无法播放并且应用程序在加载时崩溃 package com test bufferapp import
  • 获取wordpress父模板名称

    我需要获取页面父模板名称 我知道我可以对当前页面使用 get page template 但似乎没有办法获取父页面 是否也可以只获取模板名称而不是其路径 是的 get page template 只能返回当前页面的文件路径 请改用 get
  • 为什么我应该在 mobx 中使用动作装饰器

    即使在阅读了文档之后 我也试图了解 mobx 中动作装饰器的有用性 https mobx js org refguide action html https mobx js org refguide action html 仍然想知道为什么
  • 函数内 ddply 未找到对象错误

    这确实挑战了我调试R代码的能力 我想用ddply 将相同的函数应用于按顺序命名的不同列 例如 a b c 为此 我打算重复将列名称作为字符串传递并使用eval parse text ColName 以允许函数引用它 我从另一个答案中获取了这
  • 更改 ASP.NET Core 中的控制器路由

    所以我有一个HomeController 访问它Actions我必须输入url com home action 是否可以将其更改为其他类似的东西url com anothernamethatpointstohomeactually acti
  • 如何从类 ID 中识别 Axapta 类名称?

    请问有人可以帮我理解批量疯狂吗 我正在尝试调试具有大约 50 个批处理作业的 Axapta 3 0 实现 大多数批处理类没有实现description 方法 所以当你查看批次清单表单 基本 gt gt 查询 gt gt 批次列表 描述字段为
  • 测试中未使用自定义的ObjectMapper

    我使用的是 Spring 框架 版本 4 1 6 带有 Spring Web 服务 但没有 Spring Boot 为了学习该框架 我正在编写一个 REST API 并进行测试以确保从命中端点收到的 JSON 响应是正确的 具体来说 我正在
  • 正则表达式 - 排除名称的单词列表

    我正在尝试制作一个接受此内容的正则表达式 仅限 a z 0 9 字符 最小长度为 3 admin static my 和 www 被拒绝 对于第一部分 我已经设法做到了 a zA Z0 9 3 但我不知道如何排除前面列出的单词 例如 这意味
  • Java 日历/日期 2010 年 10 月 2 日有错误吗?

    我不确定我做错了什么 但我有一段代码可以计算两个日期之间的天数 如下所示 final Calendar first new GregorianCalendar 2010 Calendar OCTOBER 1 final Calendar l
  • 如何使用 nanosleep 随机睡眠时间?

    我正在尝试使用 nanosleep 函数让我的进程休眠 1 10 秒之间的随机时间 我使用 srand 为我的随机数生成器提供种子 并带有进程 ID 即我调用 srand getpid 然后使用 struct timespec delay
  • Kubernetes Pod 内存与 cgroup

    我在 Kubernetes pod 中运行 apache 并且对 apache 进程的随机 OOM 终止感到困扰 并且我不确定原因 Pod 有 600M 内存限制 即使 PHP 每次运行有 128 MB 限制 它似乎也可以很容易地消耗它 观
  • 如何在 Windows 中使用 H264 视频编码器 MFT 编码位图

    我的应用程序对从 GDI 或 DXGI 方法捕获的帧进行编码 目前我正在使用帮助 x264 库进行编码 AFAIK x264 是基于软件的库 我想在 GPU 的帮助下进行编码 这样它可以节省 CPU 周期 并且希望速度也会更快 经过搜索 我
  • 如何在 Google 中搜索代码和其他与编程相关的关键字?它似乎剥离了特殊字符

    我在使用 Google 时遇到的问题之一是 它似乎删除了特殊字符 例如点 逗号和其他一些特殊字符 而这些字符通常是我在尝试查找与编程相关的内容时要查找的内容 ex django sign返回不相关的数据 也许您知道一种方法 或替代方案 技术
  • 将值存储在 MIPS 的 HI 和 LO 寄存器中

    我正在 MIPS 中编写某些代码 并且要求将结果暂时存储在HI and LO特殊寄存器 均为 4 字节宽 这些说明可供我使用 divu s t lo lt s div t hi lt s mod t multu s t hi lo lt s
  • 朱莉娅似乎很慢

    我正在运行此中所示的代码question https stackoverflow com questions 73599180 plot not showing in julia 73599239 我预计它第二次和第三次运行得更快 第一次运
  • 如何将列表列转换为 R 中 tibble 中的向量

    我试图折叠下面的小标题 称为数据 中的 周 列 以便结果是具有两列的小标题 1 表示周 另一列表示相关值 由于周列是一个列表 我不知道该怎么做 能否请你帮忙 gt head data A tibble 6 x 1 Weeks Value