Добавление нового столбца с месяцем, извлеченным из отдельного уже существующего столбца «дата» (mdy) - PullRequest
0 голосов
/ 05 декабря 2018

a partial clip of the data set

Попытка добавить новый столбец в моей таблице данных, обозначающий месяц (в виде числового значения или символа), используя уже доступный столбец «SetDate»,который находится в формате mdy.

Я новичок в R и возникли проблемы.Спасибо

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Попробуйте (создал небольшой пример):

library(lubridate)

date_example <- "1/1/92"
lubridate::mdy(date_example)
[1] "1992-01-01"
lubridate::mdy(date_example) %>% lubridate::month()
[1] 1

Если вы хотите, чтобы в качестве символьной строки использовался полный месяц, используйте:

lubridate::mdy(date_example) %>% lubridate::month(label = TRUE, abbr = FALSE)
0 голосов
/ 05 декабря 2018

base решение:

f = "%m/%d/%y" # note the lowercase y; it's because the year is 92, not 1992
dataset$SetDateMonth <- format(as.POSIXct(dataset$SetDate, format = f), "%m")

По сути, он преобразует столбец из character (предполагаемый класс) в POSIXct, что позволяет легко извлекать информацию за месяц.

Быстрый тест:

format(as.POSIXct('1/1/92', format = "%m/%d/%y"), "%m")
[1] "01"
...