gpt4 book ai didi

r - 从日期创建因子变量 'weekend' 和 'weekday'

转载 作者:行者123 更新时间:2023-12-04 11:08:48 28 4
gpt4 key购买 nike

我有以下数据框。这只是头部,日期跨度为 2 个月。我的问题是如何在数据框中创建一个具有两个级别“工作日”和“周末”的新因子变量,以指示给定日期是工作日还是周末?

    steps        date      interval
1 37.3826 2012-10-01 0
2 37.3826 2012-10-01 5
3 37.3826 2012-10-01 10
4 37.3826 2012-10-01 15
5 37.3826 2012-10-01 20
6 37.3826 2012-10-01 25

最佳答案

您可以使用 base R

df1$date <- as.Date(df1$date)
#create a vector of weekdays
weekdays1 <- c('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')
#Use `%in%` and `weekdays` to create a logical vector
#convert to `factor` and specify the `levels/labels`
df1$wDay <- factor((weekdays(df1$date) %in% weekdays1),
levels=c(FALSE, TRUE), labels=c('weekend', 'weekday')
#Or
df1$wDay <- c('weekend', 'weekday')[(weekdays(df1$date) %in% weekdays1)+1L]

isWeekday , isWeekend来自 timeDate .我们可以指定 weekdayswday争论。它返回一个逻辑向量,如果我们需要转换为字符串,可以如上所示。
library(timeDate)
isWeekday(df1$date, wday=1:5)

关于r - 从日期创建因子变量 'weekend' 和 'weekday',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28893193/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com