Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.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 - Fatal编程技术网

R 将字符分隔为新列

R 将字符分隔为新列,r,R,我有以下数据集,需要将时间而不是日期放在与日期相关的单独列中。可通过id指示,将时间与日期连接起来 数据集: # A tibble: 10 x 2 origintime id <dttm> <int> 1 2021-03-04 18:44:25 1 2 2021-03-04 18:28:32 2 3 2021-03-04 18:25:55 3 4 2021-03-04 18:23

我有以下数据集,需要将时间而不是日期放在与日期相关的单独列中。可通过
id
指示,将时间与日期连接起来

数据集:

# A tibble: 10 x 2
   origintime             id
   <dttm>              <int>
 1 2021-03-04 18:44:25     1
 2 2021-03-04 18:28:32     2
 3 2021-03-04 18:25:55     3
 4 2021-03-04 18:23:00     4
 5 2021-03-04 18:20:00     5
 6 2021-03-04 18:15:58     6
 7 2021-03-04 18:11:41     7
 8 2021-03-04 18:10:57     8
 9 2021-03-04 18:10:33     9
10 2021-03-04 18:07:01    10


只需使用
格式
%T
即可从“origintime”列中提取时间分量,同时将“origintime”转换为
日期

library(dplyr)  
df1 <-  df1 %>% 
         mutate(time = format(origintime, '%T'), origintime = as.Date(origintime))

真管用!虽然,我希望从原始列中删除时间部分,但在您的情况下,它仍保留在同一列中,同时生成一个新列
time
@no\t'-我更新了帖子
structure(list(origintime = structure(c(1614883465.299, 1614882512.721, 
1614882355.215, 1614882180.074, 1614882000.671, 1614881758.214, 
1614881501.122, 1614881457.527, 1614881433.217, 1614881221.603
), tzone = "UTC", class = c("POSIXct", "POSIXt")), id = 1:10), row.names = c(NA, 
-10L), class = c("tbl_df", "tbl", "data.frame"))
library(dplyr)  
df1 <-  df1 %>% 
         mutate(time = format(origintime, '%T'), origintime = as.Date(origintime))
library(tidyr)
df1 %>%
    separate(origintime, into = c('origintime', 'time'), sep=" ")
library(data.table)
setDT(df)
df[ , c('origintime', 'time') := tstrsplit(origintime, " ")]
df
#    origintime id     time
# 1: 2021-03-04  1 18:44:25
# 2: 2021-03-04  2 18:28:32
# 3: 2021-03-04  3 18:25:55
# 4: 2021-03-04  4 18:23:00
# 5: 2021-03-04  5 18:20:00
# 6: 2021-03-04  6 18:15:58
# 7: 2021-03-04  7 18:11:41
# 8: 2021-03-04  8 18:10:57
# 9: 2021-03-04  9 18:10:33
#10: 2021-03-04 10 18:07:01