Search code examples
rtidyversestringr

Remove part of a string from a data.frame column


I'm working with a data.frame that contains one character column. I would like to make changes to some of the rows. For instance, on row 54 I would like to remove ", Energy Transport System Operators (ELIA, RTE)"

enter image description here

I tried:

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")

but it didn't work. I also tried:

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

but it also failed.

What am I doing wrong?

Data

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"
))

Solution

  • By default the pattern supplied to str_replace is assumed to be a regular expression. In regular expressions, ( and ) have special meanings. To match a literal stirng, use the fixed() function. For example

    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")