【发布时间】:2014-11-14 11:44:52
【问题描述】:
我有一个 excel 表,它有一个 列,其中包含格式为 HH:MM:SS 的 时间戳。
但是,将导出的 CSV 读入 R 后,对应列 data$timestamp 中的值被解释为 huge 小数(例如,7,06018515869254E-04。)
我怎样才能让 R 来解释数字的意思?
我尝试了以下方法但没有成功(yield NA):
timeTest <- data$timestamp[1]
print(as.POSIXct((timeTest - 719529)*86400, origin = "1970-01-01", tz = "UTC"))
print(as.POSIXct(strptime(timeTest, %Y%m%d %H%M%S")))
如何实现所需格式的提示将有很大帮助!
这是来自实际
CSV 的示例:
0,692210648148148|0,692534722222222|3,24074074074088E-04
由于我使用| 作为分隔符,我导入数据如下:
data <- read.delim(file,header=TRUE,sep="|")
【问题讨论】:
-
这不是一个很大的数字,它是一个很小的数字(尽管我怀疑你配置你的 R 的方式是使用
,作为控制台中的十进制分隔符)。显示 CSV 的前几行以及如何导入。 -
看起来像是“语言设置”问题。您有一个 csv 文件,其中管道作为分隔符,逗号作为小数分隔符!
-
@hvollmeier:那么有什么解决方法呢?查找替换所有“,”并替换为“。”?
-
我没有看到
HH:MM:SS格式的列。但是,您应该使用read.table(file, header=TRUE, sep="|", dec=",")阅读该文件。 -
@Roland:格式 ''HH:MM:SS'' 在原始 excel 文件中,示例来自导出的 CSV。使用简单的 VB 脚本进行导出...
标签: r excel timestamp posix epoch