例如:df$Date
SN Date
1 07-Mar-2019
2 06-Feb-2019
如何设置条件以替换df $ Date中的值“ Mar” =“ 03”和“ Feb” =“ 02”?
这样输出将是:
SN Date
1 07-03-2019
2 06-02-2019
有人可以帮忙吗?谢谢
答案 0 :(得分:1)
您可以使用as.Date
。您可以在?strptime
df$Date <- as.Date(df$Date, "%d-%b-%Y")
df
# SN Date
#1 1 2019-03-07
#2 2 2019-02-06
或者如果您不想担心格式,请使用dmy
中的lubridate
df$Date <- lubridate::dmy(df$Date)
或者使用anydate
中的anytime
函数。
df$Date <- anytime::anydate(df$Date)
要获得与所示格式完全相同的输出,我们可以
df$Date <- format(as.Date(df$Date, "%d-%b-%Y"), "%d-%m-%Y")
df
# SN Date
#1 1 07-03-2019
#2 2 06-02-2019
数据
df <- structure(list(SN = 1:2, Date = structure(2:1, .Label = c("06-Feb-2019",
"07-Mar-2019"), class = "factor")), class = "data.frame", row.names = c(NA, -2L))