R语言 将日期转换为星期
在这篇文章中,我们将看到用R语言将日期转换成星期的不同方法。
在R语言中,将给定日期转换为星期的三种不同类型的方法如下。
- 使用工作日函数将日期转换为星期几
- 使用strftime函数将日期转换为星期几
- 使用as.POSIXlt函数将日期转换为星期几
方法1:使用 weekdays() 函数 。
在这个方法中,我们要将日期转换为星期,用户需要调用weekdays()函数,这是R语言中的一个内建函数,并将日期的向量传给它。通过这样做,它将向用户返回每个给定日期的工作日。
weekdays函数: 该函数用于提取工作日、月份或季度,或朱利安时间。
语法: weekdays(x, abbreviate)
参数
- x:一个继承于 “POSIXt “或 “Date “类的对象。
- abbreviate:逻辑向量(可能是回收的)。名称是否应该被缩写?
例子
在这个例子中,我们将使用r语言中的weekday’s函数将存储在一个大小为4的向量中的日期转换为一周的天数。
date <- data.frame(date = as.Date(c("2020-10-11","2000-10-01",
"1999-12-08","2021-05-05")))
weekday <- weekdays(date$date)
print(weekday)
输出:
[1] "Sunday" "Sunday" "Wednesday" "Wednesday"
方法2:使用 strftime() 函数 。
在这种转换星期的方法中,用户需要调用strftime()函数,这是一个内置的函数,并将尊重的参数传递给它,然后作为回报,该函数将给用户提供给定日期的工作日。
strftime函数: 该函数用于在字符表示法和代表日历日期和时间的 “POSIXlt “和 “POSIXct “类对象之间进行转换。
语法: strptime(x, format, tz = “”)
参数
- x:一个要转换的对象:对于strptime是一个字符向量,对于strftime是一个可以转换为 “POSIXlt “的对象。
- tz。一个字符串,指定用于转换的时区。
- format。一个字符串。如果任何元素的时间成分不是午夜,格式方法的默认值是”%Y-%m-%d %H:%M:%S”,否则是”%Y-%m-%d”。
例子
在这个例子中,我们将使用R语言中的strftime函数将存储在一个大小为4的向量中的给定日期转换为一周中的几天。
date <- data.frame(date = as.Date(c("2020-10-11","2000-10-01",
"1999-12-08","2021-05-05")))
weekday <- strftime(date$date, "%A")
print(weekday)
输出:
[1] "Sunday" "Sunday" "Wednesday" "Wednesday"
方法3:使用as.POSIXlt()函数
在这种将日期转换为星期的方法中,用户需要调用as.POSIXlt()函数,这是一个内置的函数,在这里,用户必须将所需的参数传递给这个函数,以此作为回报,用户将得到所有日期的工作日。
as.POSIXlt()函数: 这个函数用来操作代表日历日期和时间的 “POSIXlt “和 “POSIXct “类对象。
语法: as.POSIXlt(x, tz = “”, …)
参数
- x:-要转换的R对象。
- tz:-如果需要的话,用于转换的时区规格。系统特定,但””是当前时区,”GMT “是UTC。
- …:-进一步的参数,将被传递给其他方法或从其他方法中传递。
在这个例子中,我们将使用R语言中的as.POSIXlt()函数将存储在一个大小为4的向量中的给定日期转换为一周的天数。
date <- data.frame(date = as.Date(c("2002-12-11",
"2000-07-11",
"1900-12-11",
"2015-11-11")))
weekday <-c("Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday",
"Sunday")[as.POSIXlt(datedate)wday]
print(weekday)
输出:
[1] "Wednesday" "Tuesday" "Tuesday" "Wednesday"