r - 添加新列天
问题描述
说,我有以下内容data.frame
:
require(lubridate)
Dates<-seq(as.Date('2017/01/01'), by = 'day', length.out = 365)
xYMW <- data.frame(date=(Dates), month=month(Dates), week=week(Dates))
xYMW[1:15,]
date month week
1 2017-01-01 1 1
2 2017-01-02 1 1
3 2017-01-03 1 1
4 2017-01-04 1 1
5 2017-01-05 1 1
6 2017-01-06 1 1
7 2017-01-07 1 1
8 2017-01-08 1 2
9 2017-01-09 1 2
10 2017-01-10 1 2
11 2017-01-11 1 2
12 2017-01-12 1 2
13 2017-01-13 1 2
14 2017-01-14 1 2
15 2017-01-15 1 3
我需要在周数之后再添加一列天(7 天)。对于上面的说data.frame
,它会是这样的:
date month week day
1 2017-01-01 1 1 1
2 2017-01-02 1 1 2
3 2017-01-03 1 1 3
4 2017-01-04 1 1 4
5 2017-01-05 1 1 5
6 2017-01-06 1 1 6
7 2017-01-07 1 1 7
8 2017-01-08 1 2 1
9 2017-01-09 1 2 2
10 2017-01-10 1 2 3
11 2017-01-11 1 2 4
12 2017-01-12 1 2 5
13 2017-01-13 1 2 6
14 2017-01-14 1 2 7
15 2017-01-15 1 3 1
解决方案
以下作品:
library(dplyr)
xYMW %>% dplyr::mutate(day = lubridate::wday(date))
如果你输入 option label = TRUE
,你也可以把它变成星期一,星期二,...的缩写或非缩写标签
推荐阅读
- javascript - 序列化表单并更改输入名称(删除输入名称的数组部分)
- html - 哪些包或 html 用于创建页面加载指示器,这些指示器看起来像获取数据后将填充的数据
- asp.net - 从 ASP.NET 中的 SQL Server 数据库读取时没有值输出到 txtField
- android - 如何编译双簧管库示例应用程序?
- loops - 使用 react-native-reanimated 创建一个循环
- ffmpeg - ffmpeg 无法转码 DVD ac3 音频流,但 VLC 可以播放
- sparql - 如何进行 SPARQL 查询来计算 OPTIONAL 子句中的唯一节点
- momentjs - week moment.js 的从零开始的格式不可用
- sql - ORACLE SQL:查找列中的最后一行,然后从另一个数据更新数据而不影响旧数据
- mysql - 在 MySQL 中将时间戳转换为本地时间