我有一个日期格式的文件,其中包含以下格式的日期格式列
48 # April 8th, 2013
712 # July 12th, 2013
所有这些日期都是2013年的默认日期,现在我想创建一个列,指定自2013年4月1日以来的天数,4月8日为8。
我应该如何继续?我应该使用2013年的fill作为前缀,然后使用R中的as.Date
函数?但我似乎应该用"/"代替"\"
好的,我想总结一下@rawr的解决方案,以便其他人可以遵循
首先,我需要从"\"更改为"//",以读取R 的格式要求
其次,我需要在字符串的末尾附加2013,这里的技巧是在执行dates <- paste0(dates, '\2013')
之前先执行paste0(dates, "\")
(我自己想好了!),以确保在2013之前有两个"\",否则在2013之前总是只有一个转义符。
第三,执行as.Date("6\\4\\2013", format = '%m\\%d\\%Y')
,或者类似的操作。
是一个转义字符,所以R不喜欢
48
,所以您需要对单个 使用
\
> 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