gpt4 book ai didi

r - 为什么 'rbind.data.frame' 将日期转换为数字?

转载 作者:行者123 更新时间:2023-12-04 01:13:14 24 4
gpt4 key购买 nike

我想知道为什么 rbind.data.frame将我的日期转换为数字格式以及如何修复它。假设我有以下内容:

v <- list(
row1=list(col1 = as.Date("2011-01-23"), col2="A"),
row2=list(col1 = as.Date("2012-03-03"), col2="B"))

现在我尝试这样做:
df <- do.call(rbind.data.frame, v)
str(df)
'data.frame': 2 obs. of 2 variables:
$ col1: num 14997 15402
$ col2: Factor w/ 2 levels "A","B": 1 2

为什么 col1成为数字?我如何修复它才能正确地变成 Date字段在 df .

注意:我更喜欢 native R 解决方案,但其他包会很有趣看到

最佳答案

基于 42- 的评论 Rather than using list in the "inner" level of construction, use data.frame ,对于本例,您可以将内部列表转换为 data.frame ,然后 rbind按预期工作。

> d = do.call(rbind, lapply(v, as.data.frame))
> str(d)
'data.frame': 2 obs. of 2 variables:
$ col1: Date, format: "2011-01-23" "2012-03-03"
$ col2: Factor w/ 2 levels "A","B": 1 2

关于r - 为什么 'rbind.data.frame' 将日期转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54950735/

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