-
Dates and Times in R R中的日期与时间
as.Date("2014-04-10") 转化为日期格式
library(anytime) anytime包
sep_10_2009 <- c("September 10 2009", "2009-09-10", "10 Sep 2009", "09-10-2009")
anytime(sep_10_2009) 统一转化为2009-09-10 UTC的格式
ggplot(releases, aes(x = date, y = type)) +
geom_line(aes(group = 1, color = factor(major))) +
xlim(as.Date("2010-01-01"), as.Date("2014-01-01"))时间维度的折线图,第三行xlim为限制起始时间
scale_x_date(date_breaks = "10 years", date_labels = "%Y")设置好时间间隔
Sys.Date() - last_release_date算间隔了多少天 其中Sys.Date()是现在的时间
as.POSIXct("2010-10-01 12:12:00", tz = "America/Los_Angeles")将文本转化为时间格式,tz是时区
geom_vline()条形图中出现的,这是啥意思?
-
Parsing and Manipulating Dates and Times with lubridate用lubridate包处理之
library(lubridate)
mdy_hm(z)时分秒要和月日年用_隔开
parse_date_time()转换格式 排序
parse_date_time(two_orders, orders = c("mdy", "dmy"))
make_date()将年月日合并在一起,用于mutate中
用lubridate包提取日期
年月日时分秒如second(), year() etc
am()早上时间 dst()晚上时间 leap_year()检查是否为闰年
quarter(x, with_year = FALSE, fiscal_start = 1)季节
semester(x, with_year = FALSE)半年
以上都是按月/年等为维度提取频次
mean()可用于提取频率
ggridges包
geom_density_ridges() 啥用的?
any()
round_date(r_3_4_1, unit = "5 minutes")将时间转化为最近的一个值
floor_date(r_3_4_1, unit = "day")将时间转向down,我猜是“舍”
ceiling_date(r_3_4_1, unit = "week")将时间转向up,我猜是“入”,此处是最近的下一个周日
complete.cases()去除空值
-
Arithmetic with Dates and Times日期和时间的计算
时间相减,difftime(unit = "secs", "mins", "hours", "days", or "weeks")
today()今天的日期
now()现在的具体时间
时间+days(x)往后推x天
时间+ddays(x)往后推x天1小时
year week day 前+d表示一个duration,并非严格意义上的二十四小时,而是86400秒
有d就是duration,没d就是period
today() + 1:10 * days(2)从今天起往后推两天,推到二十天后为止
%--%可以设置一个区间
ymd("2001-01-01") %--% ymd("2001-12-31")
game2_local <- force_tz(game2, tzone = "America/Edmonton")
知道区间后,可以使用int_start(),int_end(),int_length()来查看相关信息
%within%
int_overlaps()
as.period()
as.duration()
-
Problems in practice 实践中的问题
force_tz(...., tzone = ....)设置时区
OlsonNames()时区名称的集合
with_tz()功能与force_tz类似,都是转换时区,但是with_tz()不会改变任何东西,只是将时区转换一下呈现
hms包,as.hms()只得出时间而不要时期
fast_strptime()
strptime()
lubridate包
stamp()
stamp("09/20/2017")(today())
stamp(finished)(today())
网友评论