Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R lubridate as_date不将日期时间转换为日期_R_Date_Datetime_Lubridate - Fatal编程技术网

R lubridate as_date不将日期时间转换为日期

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-

我使用read_Excel从Excel中读取数组,得到两列datetime,但我需要的是两列日期

    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()
格式提供数据?请访问。