#r
#r
Вопрос:
У меня есть таблица с именем «rejected_at» во фрейме данных «Job_applications». Формат такой: «М / ДД/ГГГГ Ч: М: С вечера / УТРА». Теперь я хочу создать новую таблицу, в которой есть только «M / DD». Как бы мне это сделать?введите описание изображения здесь
Ответ №1:
Мы можем преобразовать в DateTime
класс, а затем извлечь month
и day
v1 <- as.POSIXct(df1$rejected_at, "%m/%d/%Y %H:%M:%S")
format(v1, "%d")
format(v1, "%m")
Или, если нам нужен формат %m/%d
format(v1, "%m/%d")
Или использование tidyverse
library(dplyr)
library(lubridate)
df1 %>%
mutate(rejected_at = mdy_hms(rejected_at),
day = day(rejected_at),
month = month(rejected_at))
Ответ №2:
Предполагая, что rejected_at
столбец — это просто текст, вы могли бы попробовать использовать sub
здесь:
x <- "12/30/2018 4:05:44 PM"
sub("/[^/] $", "", x)
[1] "12/30"
Или, в вашем случае:
Job_applications$new_col <- sub("/[^/] $", "", Job_applications$rejected_at)
Редактировать:
Если вы также хотели сохранить год, тогда мы можем попробовать использовать sub
с группой захвата, нацеленной на полную дату:
sub("(\d /\d /\d ).*", "\1", x)
[1] "12/30/2018"
Ответ №3:
Вы можете сделать это с помощью lubridate
library(lubridate)
new_date <- mdy_hms("08/14/2017 09:59:06 PM")
new1 <- paste0(month(new_date),"/",day(new_date))
Комментарии:
1. Чем это отличается от ответа @akrun?
2. я использовал только lubridate, и когда я его публиковал, я не знаю, что akrun опубликовал в то время.