【发布时间】:2014-02-09 20:30:50
【问题描述】:
恐怕还有一个新手问题。我正在尝试使用“lubridate”创建新变量,但遇到了 3 个问题。
我从一个以 H:MM:SS 或 HH:MM:SS 格式导入的变量“时间”开始。我还创建了“timeC”作为角色。
1.显示问题
temp$time2 <- hms(temp$time) #take my original variable "time" and convert
问题:屏幕上只显示“time2”的秒部分,尽管“在引擎盖下”看起来是正确的:
time2
----
4
> temp$time2[1,]
[1] "7H 0M 4S"
2.提取小时数问题
temp$hour <- hour(temp$time2) #extract just the hours portion
问题:这会间歇性地工作;有时很好,有时我得到以下错误:
Error in as.POSIXlt.character(as.character(x), ...) :
character string is not in a standard unambiguous format
这让我很担心,因为这看起来不像是 lubridate 应该抛出的那种信息。
3.提取小时和分钟问题
temp$hourMins <- hm(temp$time2)
问题:hourMins 的每个值都是“NA”
我可能已经花费了 4 多个小时试图解决这个问题,并且想知道是否还有其他软件包可以支持我正在尝试做的事情。
任何建议将不胜感激。提前致谢和问候!
【问题讨论】:
-
我认为您将字符串解析为时间(即
hms()和hm())与从该时间提取组件(hours()、minutes()、seconds())混淆了 -
@hadley - 你是对的(就像你一样);仍然掌握 R 文档的窍门:完整,但有时很难说出“什么重要”以及哪些内容在日常使用中/不重要。