r - 如何将 SAS 日期转换为 R 日期(或 SAS 日期时间转换为 R 日期时间)
问题描述
有谁知道,如何将 sas 日期(01JAN1990)转换为 r 日期(或 sas 日期时间到 ar 日期时间?)
df <- data.frame(date1 = c("01JAN1990", "02AUG2010"), date2=c("24DEC2016:11:60:60","25DEC2017:12:00:00"))
df$date1 <- as.character(df$date1)
df$date2 <- as.character(df$date2)
df
我可以使用as.Date(df$date1, "%d%m%Y")
m 的另一个值吗?
编辑:为什么我不能分割日期时间变量的日期部分date2
并应用 %d%B%Y?
df <- data.frame(date1 = c("01JAN1990", "02AUG2010"), date2=c("24DEC2016:11:60:60","25DEC2017:12:00:00"))
df$date1 <- as.character(df$date1)
df$date2 <- as.character(df$date2)
df %>% mutate(date3 = substr(date2, 1, 9),
date4 = as.Date(date3, "%d%B%Y")) %>% glimpse()
这给了我 NA 值 ( date4
)
解决方案
如果你仍然得到NA
s,这里有一个解决方法
library(lubridate)
df <- data.frame(date1 = c("01JAN1990", "02AUG2010"), date2=c("24DEC2016:11:60:60","25DEC2017:12:00:00"))
df$date1 <- as.character(df$date1)
df$date2 <- as.character(df$date2)
#Sys.setlocale("LC_TIME", "C")
df %>% mutate(date3 = substr(date2, 1, 9),
date4 = format(dmy(date3), "%d%^b%Y")) %>% glimpse()
#Output
# Observations: 2
# Variables: 4
# $ date1 <chr> "01JAN1990", "02AUG2010"
# $ date2 <chr> "24DEC2016:11:60:60", "25DEC2017:12:00:00"
# $ date3 <chr> "24DEC2016", "25DEC2017"
# $ date4 <chr> "24DEC2016", "25DEC2017"
希望那是你想要的。
推荐阅读
- c# - 将选定的组合框项目放入标签中
- visual-studio-2010 - MSVC 定义 _MBCS 的未定义和 _UNICODE 的定义无法从命令行调用 cmake
- javascript - 未捕获的类型错误:e.nextElementSibling.fadeToggle 不是函数
- heroku - 使用微服务架构时 Heroku 的价格会大幅上涨
- javascript - 如何在表单验证中添加 CSS 类
- python - 每周按计数对枢轴图进行排序
- python - django-autocomplete-light 不适用于 autocomplete.ModelSelect2Multiple
- android - 需要我的应用与我的设备 BLE 连接
- regex - Perl - 在字符串中查找相同的字符序列
- mongodb - MongoDB,获取数组子集的最小值和最大值