r - 如何从R中的字符串中获取部分文本?
问题描述
我正在研究母语如何影响出版。我已经从 Web of Science 下载了 BibTeX,并使用 bibliometrix 包将其导入到 R 中。此数据框中有一列指示作者的地址。例如:
[1] "SEGALLA, R (CORRESPONDING AUTHOR), INST FED EDUC CIENCIA \\& TECNOL MATO GROSSO, CAMPUS CACERES PROF OLEGARIO BALDO, BR-78201382 VILA REAL DIST IND, CACERES, BRAZIL.; SEGALLA, ROSANE, INST FED EDUC CIENCIA \\& TECNOL MATO GROSSO, CAMPUS CACERES PROF OLEGARIO BALDO, BR-78201382 VILA REAL DIST IND, CACERES, BRAZIL.; SEGALLA, ROSANE; CERDEIRA MORELLATO, LEONOR PATRICIA, UNIV ESTADUAL PAULISTA UNESP, INST BIOCIENCIAS, DEPT BIODIVERSIDADE, LAB FENOL, RIO CLARO, BRAZIL.; PINHEIRO, FABIO, UNIV ESTADUAL CAMPINAS, INST BIOL, DEPT BIOL VEGETAL, CAMPINAS, BRAZIL."
我有一个包含联合国接受的所有国家名称的向量,如下所示:
[1] "Afghanistan" "Angola"
等等...
我需要做的是提取作者地址所在国家/地区的名称。考虑上面的例子,我需要获取巴西,巴西,巴西,但我不知道具体怎么做。我曾尝试使用 grep 和 str_extract 但没有成功。此外,我需要对我的数据框的每次观察都执行此操作,该数据框有超过 2k 个观察值。
解决方案
txt <- "SEGALLA, R (CORRESPONDING AUTHOR), INST FED EDUC CIENCIA \\& TECNOL MATO GROSSO, CAMPUS CACERES PROF OLEGARIO BALDO, BR-78201382 VILA REAL DIST IND, CACERES, BRAZIL.; SEGALLA, ROSANE, INST FED EDUC CIENCIA \\& TECNOL MATO GROSSO, CAMPUS CACERES PROF OLEGARIO BALDO, BR-78201382 VILA REAL DIST IND, CACERES, BRAZIL.; SEGALLA, ROSANE; CERDEIRA MORELLATO, LEONOR PATRICIA, UNIV ESTADUAL PAULISTA UNESP, INST BIOCIENCIAS, DEPT BIODIVERSIDADE, LAB FENOL, RIO CLARO, BRAZIL.; PINHEIRO, FABIO, UNIV ESTADUAL CAMPINAS, INST BIOL, DEPT BIOL VEGETAL, CAMPINAS, BRAZIL."
countries <- c("Afghanistan", "Angola", "Brazil")
ptn <- paste0("\\b(", paste(countries, collapse = "|"), ")\\b")
ptn
# [1] "\\b(Afghanistan|Angola|Brazil)\\b"
regmatches(txt, gregexpr(ptn, txt, ignore.case = TRUE))
# [[1]]
# [1] "BRAZIL" "BRAZIL" "BRAZIL" "BRAZIL"
推荐阅读
- ruby-on-rails - rails 中 has_and_belongs_to_many 关联的问题
- c# - 在 UserControl 的资源与元素的资源中使用 ResourceDictionary
- python - 重新排列 seaborn 计数图 x 轴
- php - 返回响应与回显 - Laravel
- flutter - 下拉小部件,在颤动中按下此下拉菜单时显示详细信息
- python - 如何绘制 dbscan 图
- kotlin - 在 kotlin 中按范围函数交换元素
- javascript - 如果我想从 User 集合中读取 id 属性,为什么会收到此错误消息?
- html - 如何从 Html 表单存储用户数据?
- python - 使用 matplotlib 动画线条