我有一个日期格式的文件,其中包含以下格式的日期格式列
4\8 # April 8th, 2013
7\12 # July 12th, 2013
所有这些日期在2013年都是默认日期,现在我想创建一个列,指定自4 \ 1 \ 2013(2013年4月1日)以来的天数,4月8日为8天。
我该怎么办?我应该使用填写2013作为前缀然后在R中使用as.Date
函数?但是,似乎我应该用“/”
好的,我想总结@ rawr的解决方案,以便其他人可以关注
首先,我需要从“\”更改为“//”,以便通过R
读取格式要求其次,我需要将2013追加到字符串的结尾,这里的技巧是首先执行paste0(dates, "\\")
(我自己想出来了!)然后执行dates <- paste0(dates, '\\2013')
以确保有两个“\”在2013年之前,否则2013年之前总会有一个逃脱符号。
第三,执行as.Date("6\\\\4\\\\2013", format = '%m\\\\%d\\\\%Y')
或类似的事情。
答案 0 :(得分:3)
\
是转义字符,所以R不会像4\8
那样,所以你需要\\
使用\
> cat('\\')
\
这是一种方法:
dates
# [1] "4\\8" "7\\12"
dates <- paste0(dates, '\\2013')
# [1] "4\\8\\2013" "7\\12\\2013"
as.Date(dates, format = '%m\\%d\\%Y') - as.Date('2013-04-01') + 1
# Time differences in days
# [1] 8 103
as.numeric(as.Date(dates, format = '%m\\%d\\%Y') - as.Date('2013-04-01') + 1)
# [1] 8 103