我想使计算运输时间的代码自动化。我希望代码可以给我4个月的时间,您可以从一年的大量读数中进行选择,并在四个月的最后一个月内将其拆分,仅描述数据子集(描述不是问题)。
从数据集中为选定的月份生成子集不是问题,因为我可以定义月份。 但是我挣扎的是上个月的3/4周。我需要自动识别它们,然后生成子集。 (我希望在识别后应该更容易生成子集。)
我可以给你一些我的数据的模型。
dates <- as.Date(c("2019-01-07", "2019-01-08", "2019-01-09",
"2019-01-15", "2019-01-21"))
number <- c(12,13,14,15,20)
df <- data.frame(number, dates)
原始df包含60个变量,但是我相信这个简单的模型可以为任务提供足够的信息。
我对r还是很陌生,我不知道如何解决该问题,我将向您展示如何用几个月来解决它,但是正如所说的,在这种情况下,它们是定义好的。
function(data = df, m1 = "01" , m2 = "02") {
Monat1 <- subset(data, format.Date(dates , "%m") == m1)
谢谢您的帮助。
答案 0 :(得分:3)
您可以使用strftime函数
strftime(df$dates, format = "%W")
在rstudio中使用
?strftime()
查看可从日期或POSIXCT对象提取的所有不同值
答案 1 :(得分:0)
您可以使用碱R和润滑脂来完成
dates <- as.Date(c("2019-01-07", "2019-01-08", "2019-01-09",
"2019-01-15", "2019-01-21"))
number <- c(12,13,14,15,20)
df <- data.frame(number, dates)
str(df)
library(lubridate)
df$condition <- ifelse(month(df$dates) == month(Sys.Date())-1,week(df$dates),"-")
condition将检查日期是否小于一个月前,如果是,它将为您提供该特定值的星期数