在 R 中将日期转换为星期几
在本文中,我们将看到在 R 编程语言中将日期转换为星期几的不同方法。
在 R 语言中将给定日期转换为星期几的三种不同类型的方法如下:
- 使用工作日函数将日期转换为星期几
- 使用 strftime函数将日期转换为星期几
- 使用 as.POSIXlt函数将日期转换为星期几
方法一:使用weekdays()函数。
在这个方法中,我们将日期转换为星期几,用户需要调用 weekdays()函数,该函数是 R 语言中的内置函数,并将日期的向量传递给它。通过这样做,它将向用户返回每个给定日期的工作日。
工作日函数:该函数用于提取工作日、月份或季度,或儒略时间。
Syntax: weekdays(x, abbreviate)
Parameters:
- x: an object inheriting from class “POSIXt” or “Date”.
- abbreviate: logical vector (possibly recycled). Should the names be abbreviated?
例子:
在此示例中,我们将使用 r 语言中的工作日函数将存储在大小为 4 的向量中的日期转换为星期几。
R
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)
R
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)
R
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(date$date)$wday]
print(weekday)
输出:
[1] "Sunday" "Sunday" "Wednesday" "Wednesday"
方法二:使用strftime()函数。
在这种转换星期几的方法中,用户需要调用内置函数strftime()函数并将受尊重的参数传递给它,然后作为返回,该函数将给出给定日期的工作日给用户。
strftime函数:该函数用于在字符表示和表示日历日期和时间的“POSIXlt”和“POSIXct”类的对象之间进行转换。
Syntax: strptime(x, format, tz = “”)
Parameters:
- x: An object to be converted: a character vector for strptime, an object which can be converted to “POSIXlt” for strftime.
- tz: A character string specifying the time zone to be used for the conversion.
- format: A character string. The default for the format methods is “%Y-%m-%d %H:%M:%S” if any element has a time component that is not midnight, and “%Y-%m-%d” otherwise.
例子:
在此示例中,我们将使用 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”类的对象。
Syntax: as.POSIXlt(x, tz = “”, …)
Parameters:
- x:-R object to be converted.
- tz:-time zone specification to be used for the conversion if one is required. System-specific, but “” is the current time zone, and “GMT” is UTC
- …:-further arguments to be passed to or from other methods.
在此示例中,我们将使用 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(date$date)$wday]
print(weekday)
输出:
[1] "Wednesday" "Tuesday" "Tuesday" "Wednesday"