我有一个如下所示的数据集:
Month count
2009-01 12
2009-02 310
2009-03 2379
2009-04 234
2009-05 14
2009-08 1
2009-09 34
2009-10 2386
Run Code Online (Sandbox Code Playgroud)
我想绘制数据(月份为x值,计为y值).由于数据存在差距,我想将月份信息转换为日期.我试过了:
as.Date("2009-03", "%Y-%m")
Run Code Online (Sandbox Code Playgroud)
但它没有用.怎么了?似乎as.Date()也需要一天,并且无法设置当天的标准值?哪个功能解决了我的问题?
我有一列持续时间存储为数据帧中的字符串.我想将它们转换为适当的时间对象,可能是POSIXlt.使用此方法很容易解析大多数字符串:
> data <- data.frame(time.string = c(
+ "1 d 2 h 3 m 4 s",
+ "10 d 20 h 30 m 40 s",
+ "--"))
> data$time.span <- strptime(data$time.string, "%j d %H h %M m %S s")
> data$time.span
[1] "2012-01-01 02:03:04" "2012-01-10 20:30:40" NA
Run Code Online (Sandbox Code Playgroud)
缺少的持续时间被编码"--"并需要转换为NA- 这已经发生但应该保留.
挑战在于字符串会丢弃零值元素.因此,期望的值2012-01-01 02:00:14将是字符串"1 d 2 h 14 s".但是这个字符串NA用简单的解析器解析:
> data2 <- data.frame(time.string = c(
+ …Run Code Online (Sandbox Code Playgroud)