R lubridate as_date不将日期时间转换为日期
我使用read_Excel从Excel中读取数组,得到两列datetime,但我需要的是两列日期R lubridate as_date不将日期时间转换为日期,r,date,datetime,lubridate,R,Date,Datetime,Lubridate,我使用read_Excel从Excel中读取数组,得到两列datetime,但我需要的是两列日期 User DOB Answer_dt Question Answer <chr> <dttm> <dttm> <int> <int> 1 User1 1900-01-01 00:00:00 2017-
User DOB Answer_dt Question Answer
<chr> <dttm> <dttm> <int> <int>
1 User1 1900-01-01 00:00:00 2017-01-26 00:00:00 1 7
2 User2 1900-01-01 00:00:00 2017-01-26 00:00:00 2 8
用户DOB答案\u dt问题答案
1用户1900-01-01 00:00:00 2017-01-26 00:00:00 17
2用户2 1900-01-01 00:00:00 2017-01-26 00:00:00 2 8
我希望将datetime列转换为日期(时间不相关),并尝试以各种组合使用mutate和lubridate,但只成功地获得了一条我不理解的错误消息:
> library(lubridate)
> dt <- eML_daily[1, "DOB"]
> dt
# A tibble: 1 x 1
DOB
<dttm>
1 1900-01-01 00:00:00
Warning message:
`...` is not empty.
These dots only exist to allow future extensions and should be empty.
Did you misspecify an argument?
> as_date(dt)
Error in as.Date.default(x, ...) :
do not know how to convert 'x' to class “Date”
> as_date(df[,"DOB"])
Error in as.Date.default(x, ...) :
do not know how to convert 'x' to class “Date”
>库(lubridate)
>dt
#一个tibble:1x1
出生日期
1 1900-01-01 00:00:00
警告信息:
`……不是空的。
这些点的存在只是为了允许将来的扩展,应该是空的。
你是不是把论点说错了?
>截止日期(dt)
as.Date.default(x,…)中存在错误:
不知道如何将“x”转换为类“日期”
>截止日期(df[,“DOB”])
as.Date.default(x,…)中存在错误:
不知道如何将“x”转换为类“日期”
我不明白警告信息,也不太明白我做错了什么。当然,将dttm转换为date并丢弃时间应该是一件简单的事情,我不需要时间
我非常感谢你给我一个指针
谨此致以诚挚的谢意
托马斯·菲利普斯您是否尝试过先将其转换为字符 下面是一个快速示例:
x <- tibble(dt = c(Sys.time(),Sys.time() - 345767)) %>%
mutate(dt = as_date(as.character(dt)))
x%
变异(dt=as_日期(as.字符(dt)))
您是否尝试先将其转换为字符
下面是一个快速示例:
x <- tibble(dt = c(Sys.time(),Sys.time() - 345767)) %>%
mutate(dt = as_date(as.character(dt)))
x%
变异(dt=as_日期(as.字符(dt)))
在as_date(dt)
中,您正在尝试将TIBLE转换为datetime。这一点毫不奇怪地失败了。在as_date(df[,“DOB”])
中,我无法说出您想做什么,因为您没有给我们df
工作实例
library(tidyverse)
library(lubridate)
dt <- tibble(x=as_datetime("2017-01-26 00:00:00"))
dt
# A tibble: 1 x 1
x
<dttm>
1 2017-01-26 00:00:00
dt %>% mutate(x=as_date(x))
# A tibble: 1 x 1
x
<date>
1 2017-01-26
库(tidyverse)
图书馆(lubridate)
dt%突变(x=截止日期(x))
#一个tibble:1x1
x
1 2017-01-26
在as_date(dt)
中,您正在尝试将TIBLE转换为datetime。这一点毫不奇怪地失败了。在as_date(df[,“DOB”])
中,我无法说出您想做什么,因为您没有给我们df
工作实例
library(tidyverse)
library(lubridate)
dt <- tibble(x=as_datetime("2017-01-26 00:00:00"))
dt
# A tibble: 1 x 1
x
<dttm>
1 2017-01-26 00:00:00
dt %>% mutate(x=as_date(x))
# A tibble: 1 x 1
x
<date>
1 2017-01-26
库(tidyverse)
图书馆(lubridate)
dt%突变(x=截止日期(x))
#一个tibble:1x1
x
1 2017-01-26
您可以使用as.Date
将日期时间列转换为日期
如果要将第2列和第3列更改为最新,可以这样做
eML_daily[2:3] <- lapply(eML_daily[2:3], as.Date)
您可以使用
as.Date
将日期时间列转换为日期
如果要将第2列和第3列更改为最新,可以这样做
eML_daily[2:3] <- lapply(eML_daily[2:3], as.Date)
您能否以
dput()
格式提供数据?请访问。您能否以dput()
格式提供数据?请访问。