【发布时间】:2019-11-12 02:51:48
【问题描述】:
我在 tidyverse 工作,我有一个四列 tibble,如下所示:
+-------------------+--------------------+--------------------+-------------+
| application <chr> | start<chr> | end<chr> | usage<chr> |
+-------------------+--------------------+--------------------+-------------+
| reddit is fun | 01-Mar-19 17:37:26 | 01-Mar-19 17:37:36 | 10 sec |
| Maps | 01-Mar-19 17:37:38 | 01-Mar-19 17:41:1 | 3 min |
| Clock | 01-Mar-19 17:41:10 | 01-Mar-19 17:41:21 | 11 sec |
+-------------------+--------------------+--------------------+-------------+
我的意图是将使用列中以分钟为单位列出的任何值转换为秒。我可以在 excel 中做到这一点,但我宁愿将 excel 排除在外!
我的想法是我可能需要使用提取函数,对“# min”值使用正则表达式,将“#”和“min”分开,转换为秒,然后合并两列,现在都在几秒钟内,粘贴。
我在正确的轨道上吗?谢谢!
【问题讨论】:
-
嗨,欢迎来到 SO!您能否以可重复的格式提供您的表格,也许使用
dput?见how to make a reproducible example -
此外,使用
start和end列来获取使用时间而不是解析usage列可能更有意义,因为这将舍入以分钟为单位的所有值。 -
这里是 dput 输出结构(list(application = c("Clock", "reddit is fun", "reddit is fun", "Clock"), start = c("01-Mar -19 7:30:03”、“01-Mar-19 7:30:11”、“01-Mar-19 7:35:01”、“01-Mar-19 7:35:03”),结束= c("01-Mar-19 7:30:11", "01-Mar-19 7:30:23", "01-Mar-19 7:35:03", "01-Mar-19 7: 35:08" ), 用法 = c("8 sec", "12 sec", "2 sec", "5 sec")), row.names = c(NA, -4L), class= c("tbl_df ", "tbl", "data.frame"))
-
感谢您的洞察和欢迎!