R I';我试图用一个显示HH:MM:SS的值来计算秒数

R I';我试图用一个显示HH:MM:SS的值来计算秒数,r,R,在RStudio中使用r 我有如下数据: 00:00:00 - 00:59:59 01:00:00 - 01:59:59 等等 我想将整列数据转换为如下所示: 0:00 - 0:59 01:00 - 1:59 等等 我觉得这些解决方案在某种程度上使用str_replace,但是我查找的正则表达式似乎对这个特定的解决方案没有帮助。任何建议都将不胜感激,谢谢 您可以使用stringr包中的stru-sub执行此操作,如下所示 c <- tibble(v1 = c('00:00:00 - 00

在RStudio中使用r

我有如下数据: 00:00:00 - 00:59:59 01:00:00 - 01:59:59 等等

我想将整列数据转换为如下所示: 0:00 - 0:59 01:00 - 1:59 等等


我觉得这些解决方案在某种程度上使用str_replace,但是我查找的正则表达式似乎对这个特定的解决方案没有帮助。任何建议都将不胜感激,谢谢

您可以使用
stringr
包中的stru-sub执行此操作,如下所示

c <- tibble(v1 = c('00:00:00 - 00:59:59','01:00:00 - 01:59:59'))  %>%
#split your column into two separate columns
  separate(v1,into = c('v2','v3'),sep =' - ',remove = FALSE) %>%
#remove the seconds
  mutate_at(2:3, ~ str_sub(.,end=-4)) %>%
#paste it back together
  mutate(v4 = paste(v2,v3,sep=' - ')) %>%
#have a look at the original and fixed columns
  select(v1,v4)
c%
#将列拆分为两个单独的列
分离(v1,分为=c('v2','v3'),sep='-',remove=FALSE)%>%
#删除秒
在(2:3,~str_sub(,end=-4))%>%
#把它粘在一起
变异(v4=粘贴(v2,v3,sep='-'))%>%
#查看原始列和固定列
选择(v1,v4)

gsub(“:\\d+(?=|$)|^\\d |)(?谢谢,这部分工作正常,问题是整个值是“00:00-00:59:59”,所以运行该命令只能使我将“00:00-00:59”作为值。你知道我如何在00:00中提取秒数吗?抱歉,我没有仔细阅读你最初的帖子。这是一个可行的解决方案