gpt4 book ai didi

从 R 中的字符串列中删除字符串列表

转载 作者:行者123 更新时间:2023-12-04 00:54:33 25 4
gpt4 key购买 nike

我有一个像这样的数据框:

df = data.frame('name' = c('California parks', 'bear lake', 'beautiful tree house', 'banana plant'), 'extract' = c('parks', 'bear', 'tree', 'plant'))

如何从名称列中删除“提取”列的字符串以获得以下结果:

name_new = California, lake, beautiful house, banana

我怀疑这需要 str_extract lapply 的组合,但我很清楚。

谢谢!

最佳答案

str_removestr_replace 被向量化为 stringpattern。因此,如果我们有两列,只需将这些列“name”、“extract”作为 stringpattern 传递,以按元素删除“name”列中的子字符串。一旦我们删除了这些子字符串,之前或之后可能会有空格可以删除或替换为 str_replacetrimws (删除前导/滞后空格)

library(dplyr)
library(stringr)
df %>%
mutate(name_new = str_remove(name, extract),
name_new = str_replace_all(trimws(name_new), "\\s{2,}", " "))
# name extract name_new
#1 California parks parks California
#2 bear lake bear lake
#3 beautiful tree house tree beautiful house
#4 banana plant plant banana

关于从 R 中的字符串列中删除字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63587536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com