df <- structure(list(DateOpened = list(DateOpened = list("2022-07-15T00:00:00"), 
    DateOpened = list("2022-10-03T08:53:38.147"), DateOpened = list(
        "2021-04-01T00:00:00"), DateOpened = list("2022-09-12T00:00:00"), 
    DateOpened = list("2023-01-01T00:00:00"), DateOpened = list(
        "2023-04-11T18:56:08.467"), DateOpened = list("2023-05-09T09:20:51.903"), 
    DateOpened = list("2022-10-03T00:00:00"), DateOpened = list(
        "2022-09-12T00:00:00"), DateOpened = list("2021-04-01T00:00:00"), 
    DateOpened = list("2024-02-26T15:53:12.327"), DateOpened = list(
        "2024-02-26T16:10:02.563")), DateClosed = list(DateClosed = structure(list(), nil = "true"), 
    DateClosed = list("2023-06-01T00:00:00"), DateClosed = structure(list(), nil = "true"), 
    DateClosed = structure(list(), nil = "true"), DateClosed = structure(list(), nil = "true"), 
    DateClosed = structure(list(), nil = "true"), DateClosed = list(
        "2023-10-31T00:00:00"), DateClosed = list("2023-06-22T00:00:00"), 
    DateClosed = structure(list(), nil = "true"), DateClosed = list(
        "2024-01-22T00:00:00"), DateClosed = structure(list(), nil = "true"), 
    DateClosed = structure(list(), nil = "true"))), row.names = c(NA, 
-12L), class = "data.frame")

我想让它成为一个只包含值的数据帧,而不是它们周围的列表.

我试了as.data.frame(lapply, '[[', 1)个 ([[]和[[])没有效果和list_flatten,它产生了一个列表,而不是一个列表.

推荐答案

下面是一个tidyVerse解决方案,它使用tidyr包(以及lubriate包中将列转换为日期-时间的函数):

library(tidyr)

df |> 
  unnest_longer(everything(), keep_empty = TRUE, transform = lubridate::ymd_hms)

Output

   DateOpened          DateClosed         
   <dttm>              <dttm>             
 1 2022-07-15 00:00:00 NA                 
 2 2022-10-03 08:53:38 2023-06-01 00:00:00
 3 2021-04-01 00:00:00 NA                 
 4 2022-09-12 00:00:00 NA                 
 5 2023-01-01 00:00:00 NA                 
 6 2023-04-11 18:56:08 NA                 
 7 2023-05-09 09:20:51 2023-10-31 00:00:00
 8 2022-10-03 00:00:00 2023-06-22 00:00:00
 9 2022-09-12 00:00:00 NA                 
10 2021-04-01 00:00:00 2024-01-22 00:00:00
11 2024-02-26 15:53:12 NA                 
12 2024-02-26 16:10:02 NA                 

R相关问答推荐

如何判断某列中由某些行组成的百分比

创建重复删除的唯一数据集组合列表

使用R中的gt对R中的html rmarkdown文件进行条件格式设置表的单元格

根据收件箱中的特定值提取列名

x[[1]]中的错误:脚注越界

R Highcharts与两个位置关联的注释

在数学中正确显示摄氏度、开氏度或华氏度

根据文本字符串中的值粘贴新列

使用整齐的计算(curl -curl )和杂音

`lazy_dt`不支持`dplyr/across`?

在不丢失空值的情况下取消列出嵌套列表

仅在Facet_WRAP()中的相应方面包含geom_abline()

如何通过匹配R中所有可能的组合来从宽到长旋转多个列?

仅在R中的数据集开始和结束时删除所有 Select 列的具有NA的行

将标识符赋给事件序列,避免错误观察

我如何go 掉盒子图底部的数字?

如何在AER::ivreg中指定仪器?

R:水平旋转图

如果缺少时间,如何向日期-时间列添加时间

如何在基数R中根据矩阵散点图中的因子给数据上色?