我目前正在处理一个项目,其中有一个名为"工作日"的列。此列包含日期0:6。我是R的新手,想创建一个新的列,该列对每个数字都有工作日缩写,例如"R";0=周日、1=周一";,等等。下面是我正在使用的数据帧的图像。任何帮助和提示都会让人大吃一惊。
数据帧的图像
我们可以将基于零的工作日索引添加到2017-01-01
,这是一个周日。
x <- c(0:6)
days_abbrev <- substr(weekdays(as.Date("2017-01-01") + x), 1, 3)
days_abbrev
[1] "Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat"
或者使用@DarrenTsai的出色建议,我们可以将TRUE
作为第二个参数传递给weekdays()
,以使用缩写:
weekdays(as.Date("2017-01-01") + x, TRUE)
您可以使用%a
格式直接从日期列执行此操作。。。
format(as.Date("2017-01-05"), "%a")
[1] "Thu"