Cat*_*res 6 time r date posixct write.table
我有一个 .csv 文件,其中每个字段用于日期时间、日期和时间。最初它们都是字符字段,我已经相应地转换了它们。在我的代码结束时,如果我这样做:
str(data)
Run Code Online (Sandbox Code Playgroud)
我会得到
datetime: POSIXct
date: Date
time: Class 'times' atomic [1:2820392] (....) attr(*, "format")= chr "h:m:s"
Run Code Online (Sandbox Code Playgroud)
现在,我对此非常满意,我想创建一个 .csv 文件,所以这就是我所拥有的:
write.csv(data, file = "data.csv", row.names = FALSE)
Run Code Online (Sandbox Code Playgroud)
我也试过
write.table(data, "data.csv", sep = ",", row.names = FALSE)
Run Code Online (Sandbox Code Playgroud)
我对两者都得到了相同的结果,这就是在编写新的 .csv 时我的所有转换都丢失了:一切都回到了一个角色。
我怀疑我在 write 函数中遗漏了一些参数,但我整个下午都在搜索,但找不到什么。有人可以帮忙吗?
小智 6
如果你想保留所有的时间信息以便再次读取,这个秘籍应该有效:
dat <- data.frame(time=as.POSIXlt("2013-04-25 09:00 BST"), quantity=1)
dat2 <- dat
dat2$time <- format(dat2$time, usetz=TRUE)
write.csv(dat2, "time.csv", row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)
它提供了以下 CSV 文件:
"time","quantity"
"2013-04-25 09:00:00 BST",1
Run Code Online (Sandbox Code Playgroud)
其中明确显示时区信息;如果您应用write.csv到原件dat,格式将丢失。
根据?write.table:
数据框中任何列表或具有类(例如日期)的列都将通过适当的“as.character”方法进行转换:默认情况下,此类列不带引号。
简而言之,您只能将文本/字符写入文本文件。save如果您想保留对象的二进制 R 表示形式,请使用。
| 归档时间: |
|
| 查看次数: |
7735 次 |
| 最近记录: |