我在R中有一个从Excel导出的列,它的格式为#34; 4/3/16" (即M / D / YY)。日期或月份字段中没有前导零,我不确定如何将此类型的值转换为R中的日期字段。
我是R的新手所以这可能是一件我不明白的事情。 R是否是用于涉及日期的数据分析的错误工具?
答案 0 :(得分:5)
格式化字符串可以解决这个问题,基本R就是你所需要的:
> x = read.table('test.txt', skip=lines_to_skip, sep=' ', comment.char='')
> x
V1 V2 V3 V4 V5 V6 V7
1 Reader #2 02:57:40 02/17/13 LA 900 2.26e+11
2 Reader #2 02:57:40 02/17/13 LA 900 2.26e+11
3 Reader #2 02:57:40 02/17/13 LA 900 2.26e+11
4 Reader #2 02:57:40 02/17/13 LA 900 2.26e+11
唯一要记住的是,R> d <- as.Date("4/3/16", "%m/%d/%y")
R> d
[1] "2016-04-03"
R>
是两位数年,而%y
是四位数年。所有血腥的详细信息都在%Y
,as.Date()
和朋友的相应帮助页面中。
在我之后重复:朋友永远不要让朋友用字符串函数解析日期。
答案 1 :(得分:2)
我们可以使用mdy
lubridate
library(lubridate)
mdy("4/3/16" )
#[1] "2016-04-03"