Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.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

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 拆分字符串以提取日期和时间_R_Date_Character_Lubridate - Fatal编程技术网

R 拆分字符串以提取日期和时间

R 拆分字符串以提取日期和时间,r,date,character,lubridate,R,Date,Character,Lubridate,我在TIBLE的一列中有一个字符串,看起来像是2019年11月1日上午8:00:41 CDT 我想为上面提到的列、日期和时间创建新的列 做这件事的最佳方法是什么?润滑油 Time <- tibble(Call = 1, Date_Time = 'Nov 01, 2019 8:00:41 AM CDT') Time %>% mutate(Date_Time = mdy(`Contact Start Date/Time`)) 时间% 变异(日期\时间=mdy(`Contact

我在TIBLE的一列中有一个字符串,看起来像是2019年11月1日上午8:00:41 CDT

我想为上面提到的列、日期和时间创建新的列

做这件事的最佳方法是什么?润滑油

Time <- tibble(Call = 1, Date_Time = 'Nov 01, 2019 8:00:41 AM CDT')
Time %>%
    mutate(Date_Time = mdy(`Contact Start Date/Time`))
时间%
变异(日期\时间=mdy(`Contact Start Date/Time`))
我尝试了上面的代码,但是,我的新专栏中没有任何内容,只有“NAs”

1)我们可以使用
as.POSIXct
as.Date
,如图所示。我不确定您当时想要什么,但在下面提供了一个字符串time

library(dplyr)

DF %>% mutate(x = as.POSIXct(x, format = "%b %d, %Y %I:%M:%S %p"),
         date = as.Date(x),
         time = sub(".* ", "", x))
##                     x       date     time
## 1 2019-11-01 08:00:41 2019-11-01 08:00:41
2)chron软件包可以分别表示日期和时间:

library(dplyr)
library(chron)

DF %>% 
  mutate(x = as.chron(as.character(x), format = "%b %d, %Y %I:%M:%S %p"),
         date = dates(x),
         time = x - date)

##                     x     date     time
## 1 (11/01/19 08:00:41) 11/01/19 08:00:41
DF1)我们可以使用
as.POSIXct
as.Date
,如图所示。我不确定您当时想要什么,但在下面提供了一个字符串time

library(dplyr)

DF %>% mutate(x = as.POSIXct(x, format = "%b %d, %Y %I:%M:%S %p"),
         date = as.Date(x),
         time = sub(".* ", "", x))
##                     x       date     time
## 1 2019-11-01 08:00:41 2019-11-01 08:00:41
2)chron软件包可以分别表示日期和时间:

library(dplyr)
library(chron)

DF %>% 
  mutate(x = as.chron(as.character(x), format = "%b %d, %Y %I:%M:%S %p"),
         date = dates(x),
         time = x - date)

##                     x     date     time
## 1 (11/01/19 08:00:41) 11/01/19 08:00:41

DF我们可以使用
lubridate
s
mdy\u-hms
函数将
Date\u-Time
转换为
POSIXct
格式,然后分别使用
as.Date
format
提取
Date和
Time

library(dplyr)
library(lubridate)

Time %>%
  mutate(Date_Time = mdy_hms(Date_Time), 
         Date = as.Date(Date_Time), 
         Time = format(Date_Time, "%T"))

#   Call Date_Time           Date       Time    
#  <dbl> <dttm>              <date>     <chr>   
#1     1 2019-11-01 08:00:41 2019-11-01 08:00:41
库(dplyr)
图书馆(lubridate)
时间%>%
变异(日期时间=mdy\U hms(日期时间),
日期=截止日期(日期和时间),
时间=格式(日期时间,“%T”))
#通话日期\时间日期时间
#                         
#1     1 2019-11-01 08:00:41 2019-11-01 08:00:41

我们可以使用
lubridate
s
mdy\u-hms
函数将
Date\u-Time
转换为
POSIXct
格式,然后分别使用
as.Date
format
提取
日期和
时间

library(dplyr)
library(lubridate)

Time %>%
  mutate(Date_Time = mdy_hms(Date_Time), 
         Date = as.Date(Date_Time), 
         Time = format(Date_Time, "%T"))

#   Call Date_Time           Date       Time    
#  <dbl> <dttm>              <date>     <chr>   
#1     1 2019-11-01 08:00:41 2019-11-01 08:00:41
库(dplyr)
图书馆(lubridate)
时间%>%
变异(日期时间=mdy\U hms(日期时间),
日期=截止日期(日期和时间),
时间=格式(日期时间,“%T”))
#通话日期\时间日期时间
#                         
#1     1 2019-11-01 08:00:41 2019-11-01 08:00:41

这个社区是最好的。非常感谢。这个社区是最好的。非常感谢。对于你的第二个答案,我得到的是13:00:41,因为我的时间是军事时间下午1:00,而不是8:00,AMI修改了答案,所以请再试一次。显示输出,在这两种情况下,我使用
DF
得到8,重复显示在末尾的注释中。时间列的格式为字符。有没有办法让它成为一段时间?基本上,我所做的工作是能够聚合这段时间,这样我就可以得到按日期、人员等分组的平均通话时间。R没有单独的times类,但在chron中有一个times类,它在答案的(2)中使用。你可以取一个时间向量的平均值。这个社区是最好的。非常感谢。这个社区是最好的。非常感谢。对于你的第二个答案,我得到的是13:00:41,因为我的时间是军事时间下午1:00,而不是8:00,AMI修改了答案,所以请再试一次。显示输出,在这两种情况下,我使用
DF
得到8,重复显示在末尾的注释中。时间列的格式为字符。有没有办法让它成为一段时间?基本上,我所做的工作是能够聚合这段时间,这样我就可以得到按日期、人员等分组的平均通话时间。R没有单独的times类,但在chron中有一个times类,它在答案的(2)中使用。你可以取一个时间向量的平均值。这个社区是最好的。非常感谢。这个社区是最好的。非常感谢。是和否。这由日期/时间列分隔为两个,但如何将时间列保留为时间?将时间列保留为时间是什么意思?是否作为特定的时间对象类型?添加一个您试图获取的示例将使回答“是”和“否”更容易。这两个选项由日期/时间列分隔为两个,但我如何将时间列保留为时间?什么是将时间列保留为时间?是否作为特定的时间对象类型?添加一个您试图获得的示例将使回答更容易