r - 用 R 中的日期(格式 dd-mm-yyyy)替换数值
问题描述
我力求做到以下几点。在我的数据集中,我有变量“exact_date”。目前,它用数字编码,每个数字代表一个特定的日期,例如“1”代表“2019 年 2 月 19 日”等等。
我想用格式(dd-mm-yyyy)的实际日期替换这些数值(1-15)。我已经尝试了很多命令,例如
gsub("1", "19-02-2019", dataset$exact_date)
这不会产生预期的结果。
相似地,
dataset$exact_date[dataset$exact_date == 1] <- as.character("19-02-2019")
或者
library(tidyverse)
pre_911 %>% mutate_at(
vars(
c('exact_date')
),
funs(
case_when(
. = 2 ~ '20/02/2019',
. = 3 ~ '21/02/2019',
TRUE ~ as.character(.)
)
)
)
不产生所需的输出。
有人可以帮我实现我想要的吗?
解决方案
将数值转换为原点为的日期'2019-02-18'
dataset <- data.frame(exact_date = c(2, 1, 3, 4, 1))
as.Date(dataset$exact_date, origin = '2019-02-18')
#[1] "2019-02-20" "2019-02-19" "2019-02-21" "2019-02-22" "2019-02-19"
如果您想要 dmy 格式的日期,您可以使用format
format(as.Date(dataset$exact_date, origin = '2019-02-18'), '%d/%m/%Y')
#[1] "20/02/2019" "19/02/2019" "21/02/2019" "22/02/2019" "19/02/2019"
推荐阅读
- vb.net - process.start() - 获取所有后续进程?
- mysql - XML加载文件将错误数据输入MySQL
- robotframework - 机器人:在测试用例中设置和使用本地列表
- erlang - 从源文件构建自定义 Erlang debian 包
- reactjs - 如何使用 React 中的单个函数独立更改 2 个不同的变量?
- node.js - 如何使用电报网络钩子?
- python - 黑暗天空 JSON 到 CSV 转换
- sql - 获取用户最常使用的乘车服务提供商详细信息
- oracle - (PLS-00103:在简单声明游标语句和循环选择数据期间遇到符号“;”)
- python - 展开列数据框嵌套字典