Я использовал чрезвычайно полезный пакет rentrez в R для получения информации об авторе, идентификаторе статьи и принадлежности автора из базы данных Pubmed. Это прекрасно работает, но теперь я хотел бы извлечь информацию из области принадлежности. К сожалению, поле принадлежности является широко неструктурированным, не стандартизированной строкой с различными типами информации, такой как название университета, название отдела, адрес и более разделенные запятыми. Поэтому подход к анализу текста необходим для получения любой полезной информации из этого поля.
Я пробовал пакет easyPubmed в сочетании с rentrez, и хотя пакет easyPubmed может извлекать некоторую информацию из поля присоединения (например, адрес электронной почты, который очень полезен), насколько мне известно, он не может извлечь название университета. Я также попробовал пакет pubmed.mineR, но, к сожалению, это также не обеспечивает извлечение названия университета. Я начал экспериментировать с функциями grep и regex, но, поскольку я не являюсь экспертом в R, я не смог сделать эту работу.
Мне удалось найти очень похожие темы, решающие проблему с python:
Regex для извлечения названий колледжей, университетов и институтов?
Как извлечь название университета / школы / колледжа из строки в python, используя регулярное выражение?
Но, к сожалению, я не знаю, как преобразовать функцию регулярного выражения python в функцию регулярного выражения R, так как я не знаком с python.
Вот некоторые примеры данных:
PMID = c(121,122,123,124,125)
author=c("author1","author2","author3","author4","author5")
Affiliation = c("blabla,University Ghent,blablabla", "University Washington, blabla, blablabla, blablabalbalba","blabla,University of Florence,blabla", "University Chicago, Harvard University", "Oxford University")
df = as.data.frame(cbind(PMID,author,Affiliation))
df
PMID author Affiliation
1 121 author1 blabla,University Ghent,blablabla
2 122 author2 University Washington, blabla, blablabla, blablabalbalba
3 123 author3 blabla,University of Florence,blabla
4 124 author4 University Chicago, Harvard University
5 125 author5 Oxford University
Что бы я хотел получить:
PMID author Affiliation University
1 121 author1 blabla,University Ghent,blablabla University Ghent
2 122 author2 University Washington,ba, bla, bla University Washington
3 123 author3 blabla,University Florence,blabla University of Florence
4 124 author4 University Chicago, Harvard Univ University Chicago, Harvard University
5 125 author5 Oxford University Oxford University
Пожалуйста, извините, если в сети уже есть решение, но я, честно говоря, много гуглил и не нашел четкого решения для R. Я был бы очень благодарен за любые подсказки и решения этой задачи.