我有一个csv文件,显示日期为14-3月20日。这是一个日期-月-年格式。但在背景中,它显示为3/14/2020。
当我尝试把这个文件读到R中时,它是字符格式14-3月20日,我把它转换为as.Date(x,格式(%d-%h-%Y))。
问题是,在R中,日期显示年份为"20“(两位数)。我想把数据作为四位数的年份读入R,我不想添加字符串20来使其成为2020年,因为那里也可能有类似1948年的年份。对于%Y的年份,没有多少格式会有帮助。
是否有一种方法可以读取csv文件,例如日期为14/Mar/2020,还是在R中将年份变成四位数而不加20到年份的字符串?
Sample Data
c("12-Dec-14", "19-Dec-14", "12-Dec-14", "19-Dec-14", "12-Dec-14",
"26-Dec-14")
Expected Output:
12-12-2014, 19-Dec-2014....
Note: In csv file it is stores as 12/12/2014 but formatted to show as 12-Dec-14. So when I pull the data in R it comes as 12-Dec-14发布于 2020-09-10 12:37:30
也许这能帮上忙
> strftime(as.Date(d,format = "%d-%b-%y"),format = "%d-%b-%Y")
[1] "12-Dec-2014" "19-Dec-2014" "12-Dec-2014" "19-Dec-2014" "12-Dec-2014"
[6] "26-Dec-2014"数据
d <- c("12-Dec-14", "19-Dec-14", "12-Dec-14", "19-Dec-14", "12-Dec-14",
"26-Dec-14")发布于 2020-09-10 12:19:33
你想用%y。
来自strptime()的文档
没有世纪的
年(00-99)。在输入时,值00到68的前缀为20,而值为69至99的前缀为19 --这是2018年POSIX标准所指定的行为,但它也表示,“预计在未来版本中,从2位数的年份推断的默认世纪将发生变化”。
发布于 2020-09-10 12:35:43
可以使用as.Date将日期转换为日期类。
x <- c("12-Dec-14", "19-Dec-14", "12-Dec-14", "19-Dec-14", "12-Dec-14", "26-Dec-14")
x1 <- as.Date(x, '%d-%b-%y')
x1
#[1] "2014-12-12" "2014-12-19" "2014-12-12" "2014-12-19" "2014-12-12" "2014-12-26"如果需要特定格式的数据,请在日期值上使用format。
x2 <- format(x1, '%d-%b-%Y')
x2
#[1] "12-Dec-2014" "19-Dec-2014" "12-Dec-2014" "19-Dec-2014" "12-Dec-2014" "26-Dec-2014"https://stackoverflow.com/questions/63829471
复制相似问题