我有日期数据,我想提取月份名称及其年份:
<Route path="/edit/:id" component={EditExpansePage} />
换句话说,我需要将结果按按升序排列,如下所示:
>head(merged.tables$Date)
2015-07-31
2013-01-12
2014-01-03
2014-12-03
2013-11-13
2013-10-27
所以我尝试使用此代码进行首先转换,如上面的代码所示。
January_2013
October_2013
November_2013
January_2014
December_2014
July_2015
但它告诉我这个错误:
charToDate(x)出错: 字符串不是标准的明确格式
我尝试调整此解决方案character string is not in a standard unambiguous format。 但我无法解决它!
感谢您的帮助
答案 0 :(得分:0)
试试这个(将你的日期传递给角色):
(go-loop
[[v _] (alts! [out (timeout 1000)])
i 0
acc 0]
(if (and v (not= n i))
(do
(>! task-ch (as/progress-tick))
(recur (alts! [out (timeout 1000)]) (inc i) (+ acc v)))
(do (close! out)
(deliver p* (if (= n i) acc nil)))))
如果您像这样构建data.frame,则不会出现该错误:
merged.tables$Date <-paste(months(as.Date(as.character(merged.tables$Date))),year(as.Date(as.character(merged.tables$Date))),sep="_")
我认为问题与您的数据类有关。
排序:
merged.tables<-data.frame(Date=c("2015-07-31","2013-01-12",
"2014-01-03",
"2014-12-03",
"2013-11-13",
"2013-10-27"))
答案 1 :(得分:0)
您可以在原始日期使用order
来获得正确的订单
首先,请阅读您的数据示例。
Date <- scan(what = character(), text = '
2015-07-31
2013-01-12
2014-01-03
2014-12-03
2013-11-13
2013-10-27')
Date <- as.Date(Date)
现在,重新格式化并订购它们。
inx <- order(Date)
newDate <- format(Date, format = "%B_%Y")[inx]
newDate
#[1] "January_2013" "October_2013" "November_2013" "January_2014"
#[5] "December_2014" "July_2015"
请注意,这假定日期属于班级Date
。