【发布时间】:2023-03-21 12:28:02
【问题描述】:
我正在做一个项目,我想要特定字符串的所有排列。我正在使用tidyr::separate_rows 在特定字符串上拆分和复制,但我想保留原始行。
require(dplyr)
require(tidyr)
temp <- tibble(raw_name = c("happy bank dba american bank and trust", " sohappy bank dba american bank"), clean_name = c("american bank and trust", "american bank"))
这就是我现在正在做的事情:
final <- temp %>%
separate_rows(raw_name, sep = "dba")
这会丢失我原来的行。我查看了文档,但没有找到 .keep_all = TRUE 的版本。这是上面separate_rows的结果:
raw_name clean_name
<chr> <chr>
1 happy bank dba american bank and trust american bank and trust
2 " sohappy bank dba american bank" american bank
我当前的解决方案是创建一个带有违规观察的新 df,执行 separate_rows 并 rbind 原始行。这是我想要的结果:
raw_name clean_name
<chr> <chr>
1 happy bank dba american bank and trust american bank and trust
2 " sohappy bank dba american bank" american bank
3 "happy bank " american bank and trust
4 " american bank and trust" american bank and trust
5 " sohappy bank " american bank
6 " american bank" american bank
谢谢大家!
【问题讨论】:
标签: r regex tidyr data-cleaning