我有一个由几个国家办事处组成的专栏与一家公司联系,我希望缩短fx:中国国家办事处和孟加拉国国家办事处,只有中国或孟加拉国 - 换句话说,删除“"办公室"和#34;国家"来自名为Imp_Office的专栏。
我尝试使用tm-package,参考之前的帖子,但没有任何反应。
我写的内容:
library(tm)
stopwords = c("Office", "Country","Regional")
MY_df$Imp_Office <- gsub(paste0(stopwords, collapse = "|","",
MY_df$Imp_Office))
我收到以下错误消息:
Error in gsub(paste0(stopwords, collapse = "|", "", MY_df$Imp_Office))
:
argument "x" is missing, with no default
我也尝试使用函数readLines:
stopwords = readLines("Office", "Country","Regional")
MY_df$Imp_Office <- gsub(paste0(stopwords, collapse = "|","",
MY_df$Imp_Office))
但这对任何事都没有帮助
我已经考虑过使用其他一些字符串操作方法的可能性,但我不需要检测,替换或删除空格 - 所以我有点迷失在这里。
谢谢。
答案 0 :(得分:2)
首先,让我们设置一个数据框,其中包含您所描述的列:
library(tidyverse)
df <- data_frame(Imp_Office = c("China Country Office",
"Bangladesh Country Office",
"China",
"Bangladesh"))
df
#> # A tibble: 4 x 1
#> Imp_Office
#> <chr>
#> 1 China Country Office
#> 2 Bangladesh Country Office
#> 3 China
#> 4 Bangladesh
然后我们可以使用stringr包中的str_remove_all()
来删除你不想要的任何文本。
df %>%
mutate(Imp_Office = str_remove_all(Imp_Office, " Country| Office"))
#> # A tibble: 4 x 1
#> Imp_Office
#> <chr>
#> 1 China
#> 2 Bangladesh
#> 3 China
#> 4 Bangladesh
由reprex package(v0.2.0)创建于2018-04-24。