Как создать столбец в кадре данных, который показывает дни недели из существующего столбца даты? - PullRequest
1 голос
/ 31 января 2020

У меня есть столбец даты, и я хотел бы создать новый столбец, используя mutate, который показывает дни недели.

Например,

Date                  New Column      
2011-1-1                Wed
2012-1-3                Fri

У меня около 1000 строк .

Это то, что я пробовал

d <- mutate(d, days = days(Date, label=FALSE)

, потому что d <- mutate(d, month = month(Date, label=False) работал для меня. Я бы предположил, что это будет похоже, но я не могу заставить его работать.

Ответы [ 2 ]

1 голос
/ 31 января 2020

Вы можете использовать wday функцию из lubridate пакета

df <- data.frame(Date = c("2011-1-1","2012-1-3"))

library(lubridate)
df %>% mutate(New_Column = wday(ymd(Date), label = TRUE))

      Date New_Column
1 2011-1-1        Sat
2 2012-1-3        Tue
1 голос
/ 31 января 2020

Преобразовать в столбец даты и затем использовать weekdays.

df$Date <- as.Date(df$Date, "%Y-%m-%d")
df$day_of_week <- weekdays(df$Date)

Если вам нужны сокращенные дни недели, мы можем использовать format

df$short_day_of_week <- format(as.Date(df$Date, "%Y-%m-%d"), "%a")
df

#        Date day_of_week short_day_of_week
#1 2011-01-01    Saturday               Sat
#2 2012-01-03     Tuesday               Tue

data

df <- structure(list(Date = structure(1:2, .Label = c("2011-1-1", "2012-1-3"
), class = "factor")), class = "data.frame", row.names = c(NA,-2L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...