如何从列中删除零件文本?

时间:2018-06-22 07:34:37

标签: r dplyr gsub

我有一个以以下格式存储为字符串的日期值:(Day_of_week Month DayYear)。我想删除星期几,因此最终格式为:(Month DayYear

mydata <- data.frame(Date=c("Tuesday, September 19, 2017",
                            "Friday, April 20,2018"),
                     Date_Exp=c("September 19, 2017",
                                "April 20,2018"))

3 个答案:

答案 0 :(得分:3)

正如@Wiktor Stribi.ew所说..您的任务很明确,但无法达到目的。 但这可以解决您的问题:

format(as.Date(mydata$Date,format = "%A, %B %d, %Y"), format="%B %d %Y")
[1] "September 19 2017" "April 20 2018" 

答案 1 :(得分:0)

使用gsub,我们可以删除日期开头的任意数量的字符,后跟“,”和空格。

mydata$Date <- gsub("^[a-zA-z]+, ", "",mydata$Date)

答案 2 :(得分:0)

您可以将日期保留为字符串,然后使用正则表达式删除星期几:

vec <- c("Tuesday, September 19, 2017", 
         "Friday, April 20,2018")

trimws(sub("^.*?,","",vec))

#[1] "September 19, 2017" "April 20,2018"