从 data.frame 列中删除部分字符串

问题描述 投票:0回答:2

我正在使用一个包含一个字符列的 data.frame。我想对某些行进行更改。例如,在第 54 行,我想删除“能源运输系统运营商(ELIA、RTE)”

我尝试过:

funding$x11_funding_sources <- str_replace(funding$x11_funding_sources,
            "Nature conservation funds from National and/or Regional administrations, LIFE programme, Energy Transport System Operators (Elia, RTE)", 
            "Nature conservation funds from National and/or Regional administrations, LIFE programme")

但是没有成功。我也尝试过:

funding$x11_funding_sources<-gsub(", Energy Transport System Operators (Elia, RTE)", "", funding$x11_funding_sources)

但也失败了。

我做错了什么?

数据

funding<-structure(list(x11_funding_sources = c("Nature conservation funds from National and/or Regional administrations", 
                                                "Nature conservation funds from National and/or Regional administrations, LIFE programme", 
                                                "Nature conservation funds from National and/or Regional administrations, Development funds from National and/or Regional administrations, European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc), Private funds, Different funds and also small donations used in the last 16 years", 
                                                "Private funds", "Nature conservation funds from National and/or Regional administrations, National and/or regional Research & Innovation funds", 
                                                "National and/or regional Research & Innovation funds", "National and/or regional Research & Innovation funds, Cohesion funds", 
                                                "National and/or regional Research & Innovation funds", "LIFE programme", 
                                                "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "National and/or regional Research & Innovation funds, European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "Iceland, Liechtenstein, Norway EEA Grants", "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "Nature conservation funds from National and/or Regional administrations, Private funds", 
                                                "Nature conservation funds from National and/or Regional administrations", 
                                                "Private funds", "Private funds", "Ministry for environment and the Croatian motorway enterprise", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "Nature conservation funds from National and/or Regional administrations, Development funds from National and/or Regional administrations, Biodiversity offsets, Private funds", 
                                                "Nature conservation funds from National and/or Regional administrations", 
                                                "Private funds", "Nature conservation funds from National and/or Regional administrations, LIFE programme", 
                                                "Nature conservation funds from National and/or Regional administrations", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "Private funds", "Cohesion funds", "National Strategic Reference Framework (NSRF 2014–2020) - Sectoral Program \"Transport Infrastructure, Environment and Sustainable Development\"", 
                                                "National and/or regional Research & Innovation funds", "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "LIFE programme, Private funds", "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "Private funds", "National and/or regional Research & Innovation funds", 
                                                "LIFE programme", "LIFE programme, Private funds", "LIFE programme", 
                                                "LIFE programme", "LIFE programme", "Nature conservation funds from National and/or Regional administrations, European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "LIFE programme", "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "LIFE programme", "European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "Nature conservation funds from National and/or Regional administrations, LIFE programme", 
                                                "Nature conservation funds from National and/or Regional administrations, LIFE programme, Energy Transport System Operators (Elia, RTE)", 
                                                "LIFE programme", "Nature conservation funds from National and/or Regional administrations, FEDER", 
                                                "Nature conservation funds from National and/or Regional administrations", 
                                                "Nature conservation funds from National and/or Regional administrations, Development funds from National and/or Regional administrations, Private funds", 
                                                "LIFE programme", "Nature conservation funds from National and/or Regional administrations, European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc)", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "Nature conservation funds from National and/or Regional administrations, National and/or regional Research & Innovation funds, Development funds from National and/or Regional administrations, LIFE programme, European research & innovation funds (E.g., Horizon, Biodiversa, etc.), European funds associated to other sustainability policies (e.g., climate, agriculture, Interreg, etc), Cohesion funds, Biodiversity offsets, Private funds", 
                                                "Nature conservation funds from National and/or Regional administrations, National and/or regional Research & Innovation funds", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)", 
                                                "European research & innovation funds (E.g., Horizon, Biodiversa, etc.)"
)), row.names = c(NA, -64L), class = c("tbl_df", "tbl", "data.frame"
))
r tidyverse stringr
2个回答
1
投票

默认情况下,提供给

str_replace
的模式被假定为正则表达式。在正则表达式中,
(
)
具有特殊含义。要匹配文字搅拌,请使用
fixed()
函数。例如

str_replace(funding$x11_funding_sources,
            fixed("Nature conservation funds from National and/or Regional administrations, LIFE programme, Energy Transport System Operators (Elia, RTE)"), 
            "Nature conservation funds from National and/or Regional administrations, LIFE programme")

1
投票

在基于

gsub
函数的第二个解决方案中,您可以将参数
fixed
设置为
TRUE
以匹配
pattern
参数中指定的字符串。

gsub(", Energy Transport System Operators (Elia, RTE)", "", funding$x11_funding_sources, fixed=TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.