考虑以下数据框:
status
1 file-status-done-bad
2 file-status-maybe-good
3 file-status-underreview-good
4 file-status-complete-final-bad
我们要提取状态的最后一部分,其中部分由-
分隔。这样的:
status status_extract
1 file-status-done-bad done
2 file-status-maybe-good maybe
3 file-status-ok-underreview-good underreview
4 file-status-complete-final-bad final
在 SQL 中这很简单,select split_part(status, '-', -2)
。
但是,我见过的 R 解决方案要么对向量进行操作,要么在提取特定元素时很困惑(它们返回所有元素)。这是如何在变异链中完成的?以下是失败的尝试。
df %>%
mutate(status_extract = str_split_fixed(status, pattern = '-')[[-2]])
最佳答案
找到了一个非常简单的答案。
library(tidyverse)
df %>%
mutate(status_extract = word(status, -1, sep = "-"))
关于r - 将字符串部分提取到 R 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62980106/