无法将数据帧列列表转换为传统的数据帧向量

时间:2018-05-09 19:56:48

标签: r list dataframe dplyr

数据框出现问题,其中一列是日期列表。 希望将列表转换为数据框中的向量列。

当我使用head(output)时,日期显示正确。当我查看它们正确显示的数据帧时。当我使用output$date时,我得到:

(实施例)

[[239]]
character(0)

[[240]]
character(0)

[[241]]
character(0)

[[242]]
[1] "05/01/2018"

在网上几次,都试过了:

unlist(output$date)         

日期是列表

尝试使用dplyr执行:

output2 <- data.frame(output) %>% mutate(output$Date %>% unlist())

尝试使用use.names = false

unlist(output$Date, use.names=FALSE)

1 个答案:

答案 0 :(得分:1)

您可以考虑使用tidyr::unnest展开list中包含data.frame的列。

library(tidyr)

#Sample data.frame
df <- data.frame(sl = 1:2)
#List of dates added as 2nd column
df$Date <- list(A = c(as.Date("2018-01-01"), as.Date("2018-01-02"), as.Date("2018-01-03")),
                B = c(as.Date("2018-02-01"), as.Date("2018-02-02"), as.Date("2018-02-03")))

unnest(df)

#   sl       Date
# 1  1 2018-01-01
# 2  1 2018-01-02
# 3  1 2018-01-03
# 4  2 2018-02-01
# 5  2 2018-02-02
# 6  2 2018-02-03