r - 将单列分成 3 列,保留原始列 (R)
问题描述
我有一个独特的字符列,它位于“DD HH:MM”中,我试图将该列分成 3 个新的数字列。我对单独函数的问题是它替换了原始列,我不知道如何通过多个条件SEP =
请注意,并非每个观察都有“DD”
我当前的代码如下所示:
separate(numeric_report,Planned.Duration..dd.hh.mm., into = c("Planned Days" ,"Planned Hours" , "Planned Minutes"),sep = ":")
任何建议将不胜感激!
解决方案
您可以使用remove = FALSE
来停止删除原始列,并且可以使用传递多个sep
参数使用|
.
tidyr::separate(data, Planned.Duration..dd.hh.mm.,
into = c("Planned Days" ,"Planned Hours" , "Planned Minutes"),
sep = ":|\\s", remove = FALSE, fill = "left", convert = TRUE)
# Planned.Duration..dd.hh.mm. Planned Days Planned Hours Planned Minutes
#1 1:03 NA 1 3
#2 2 00:38 2 0 38
#3 0:49 NA 0 49
数据
data <- data.frame(Planned.Duration..dd.hh.mm. =
c('1:03', '2 00:38','0:49'), stringsAsFactors = FALSE)
推荐阅读
- c - 使用 I/O 多路复用时 select() 何时返回
- go - 指针语义方法如何提供数据?
- html - 如何使文本流到其他div?
- ruby-on-rails - 有没有办法对多个表使用 where 语句?
- android - 在反应原生更改设备语言后,日期选择器变得空白?
- css - css暗模式的自动变化是什么?
- node.js - 将 Bot Framework v4 机器人连接到 nodejs 中的 Power Virtual Agent 机器人
- python - 如何使用 Python 将仅出现一次的单词替换为文本文件中的其他单词?
- autodesk-forge - 在 Forge Viewer 上按 Escape 键时无法返回“bimwork”模式
- python - Python Tkinter 在其前面显示带有 Hi 的名称