我发现这个公式可以将日期转换为该周的星期一:
x <- as.Date("2015-07-17")
y <- (x-c(6:0))[format((x-c(6:0)),"%w")=="1"]
Run Code Online (Sandbox Code Playgroud)
我如何在一列日期中调整使用公式?
df <- data.frame(date = c("2014-08-09", "2014-08-10", "2014-08-11", "2014-11-04"))
df$date <- as.Date(df$date)
df$week <- (df$date-c(6:0))[format((df$date-c(6:0)),"%w")=="1"]
Run Code Online (Sandbox Code Playgroud)
将投掷:
Error in prettyNum(.Internal(format(x, trim, digits, nsmall, width, 3L, :
invalid 'trim' argument
Run Code Online (Sandbox Code Playgroud)
你可以使用这个功能:
prevM <-function(x)
7 * floor(as.numeric(x-1+4) / 7) + as.Date(1-4,origin = "1970-01-01")
Run Code Online (Sandbox Code Playgroud)
然后
prevM(as.Date(c("2015-07-17","2015-07-16","1974-02-10")))
Run Code Online (Sandbox Code Playgroud)
会产生:
[1] "2015-07-13" "2015-07-13" "1974-02-04"
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到它:上周一的日期
| 归档时间: |
|
| 查看次数: |
1417 次 |
| 最近记录: |