df1=structure(list(date = c("22.04.2022", "22.04.2022", "22.04.2022", 
"22.04.2022", "23.04.2022", "23.04.2022", "23.04.2022", "24.04.2022", 
"24.04.2022", "24.04.2022"), d1 = c("8:00:00", "10:00:00", "12:00:00", 
"12:00:00", "10:00:00", "12:00:00", "12:00:00", "10:00:00", "12:00:00", 
"12:00:00"), d2 = c("10:00:00", "20:00:00", "22:00:00", "22:00:00", 
"20:00:00", "22:00:00", "22:00:00", "20:00:00", "22:00:00", "22:00:00"
)), class = "data.frame", row.names = c(NA, -10L))

这里有3列带有日期格式,我需要将它们全部转换为整数,以便获得所需的输出

date         d1          d2         date1      d1_1 d2_1
22.04.2022  8:00:00     10:00:00    20220422    8   10
22.04.2022  10:00:00    20:00:00    20220422    10  20
22.04.2022  12:00:00    22:00:00    20220422    12  22
22.04.2022  12:00:00    22:00:00    20220422    12  22
23.04.2022  10:00:00    20:00:00    20220423    10  20
23.04.2022  12:00:00    22:00:00    20220423    12  22
23.04.2022  12:00:00    22:00:00    20220423    12  22
24.04.2022  10:00:00    20:00:00    20220424    10  20
24.04.2022  12:00:00    22:00:00    20220424    12  22
24.04.2022  12:00:00    22:00:00    20220424    12  22

其中date1 d1_1 d2date d1 d2的整数

怎样才能做得更好?

推荐答案

一个可能的解决方案:

library(tidyverse)
library(lubridate)

df1 %>% 
  mutate(date1 = dmy(date) %>% str_remove_all("-"),
         across(matches("d[1-2]"), ~ str_extract(.x, "^\\d+(?=\\:)"),
                .names = "{.col}_1"))

#>          date       d1       d2    date1 d1_1 d2_1
#> 1  22.04.2022  8:00:00 10:00:00 20220422    8   10
#> 2  22.04.2022 10:00:00 20:00:00 20220422   10   20
#> 3  22.04.2022 12:00:00 22:00:00 20220422   12   22
#> 4  22.04.2022 12:00:00 22:00:00 20220422   12   22
#> 5  23.04.2022 10:00:00 20:00:00 20220423   10   20
#> 6  23.04.2022 12:00:00 22:00:00 20220423   12   22
#> 7  23.04.2022 12:00:00 22:00:00 20220423   12   22
#> 8  24.04.2022 10:00:00 20:00:00 20220424   10   20
#> 9  24.04.2022 12:00:00 22:00:00 20220424   12   22
#> 10 24.04.2022 12:00:00 22:00:00 20220424   12   22

R相关问答推荐

按自定义数字模式对变量名称排序

按条件计算观察次数

导入到固定列宽的R中时出现问题

无法在我的情节中表现出显着的差异

从嵌套列表中智能提取线性模型系数

在使用ggroove后,将图例合并在gplot中

将嵌套列表子集化为嵌套列表

使用strsplit()将向量操作为数据框

使用外部文件分配变量名及其值

将文件保存到新文件夹时,切换r设置以不必创建目录

使用for循环和粘贴创建多个变量

SHINY:使用JS函数应用的CSS样式显示HTML表格

Geom_Hline将不会出现,而它以前出现了

使用不同的定性属性定制主成分分析中点的 colored颜色 和形状

Conditional documentr::R中数据帧的summarize()

抽样变换-REXP与RWEIBUR

使用LAG和dplyr执行计算,以便按行和按组迭代

如何在访问之前下载的输入时同时上传和处理所有指定的shiny 输入?

重写时间间隔模糊连接以减少内存消耗

Ggplot2:添加更多特定 colored颜色 的线条