gpt4 book ai didi

r - R 中的 write.csv 将我的日期转换为 10 位整数

转载 作者:行者123 更新时间:2023-12-04 02:58:27 24 4
gpt4 key购买 nike

在 Excel 中,我创建了一个 1000 行的 Year End Date 列,其中每个单元格的内容都是 12/31/2018。我将其格式化为 Excel 中的日期。我将这些全部放入 R 中,对其他列(而不是日期列)进行了一些数据操作,并使用 write.csv 导出了最终数据框。当我打开最终文件(在 Excel 或 Tableau 中)时,我的整个 Year End Date 列在每个单元格中都是 1546214400。

为什么会这样?我该如何解决?

谢谢!

最佳答案

每个软件程序都将日期(或日期时间)存储为数字,但会以人类熟悉的日期格式显示该数字。
当您将数据读入 R 时,您使用的任何函数都足够“聪明”,可以知道“12/31/2018”是日期“2018 年 12 月 31 日”,而不是字符串“1、2、/、3” ,……”全部粘贴在一起。 R 存储日期的一种方式是作为 POSIXct 对象。我们可以看到 R 将日期“12/31/2018”存储为 POSIXct 整数 1546214400:

as.integer(as.POSIXct(as.Date("2018/12/31")))
> 1546214400
使用 write.csv() 导出您的数据为了使 Excel 熟悉日期,您首先需要使用日期格式格式化 POSIXct 值 1546214400。因此,如果您的数据位于名为 mydf 的数据框中日期列名为 date , 做这个:
mydf$date <- format(mydf$date, "%m/%d/%Y")
write.csv(mydf, file="path/to/file.csv")

关于r - R 中的 write.csv 将我的日期转换为 10 位整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599365/

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