Анализ текста в R, чтение каждой строки для ответа да / нет - PullRequest
0 голосов
/ 03 февраля 2019

Я пытался найти способ использования R для извлечения из CSV-файла, который был создан с использованием пакета RISmed из определенных терминов PubMed, например, для латиноамериканцев таким образом, чтобы создать новую переменную"прочитать всю строку и вставить, если есть какое-либо упоминание слова да или нет во вновь созданной переменной

, как я смогу это сделать и какой пакет вы порекомендуете?

Вот пример моего кода

library(RISmed)
library(dplyr) # tibble and other functions

RCT_topic <- 'randomized clinical trial'
RCT_query <- EUtilsSummary(RCT_topic, mindate=2016, maxdate=2017, retmax=100)
summary(RCT_query)
RCT_records <- EUtilsGet(RCT_query)
RCT_data <- data_frame('PMID'=PMID(RCT_records),
                       'Title'=ArticleTitle(RCT_records),
                       'Abstract'=AbstractText(RCT_records),
                       'YearPublished'=YearPubmed(RCT_records),
                       'Month.Published'=MonthPubmed(RCT_records),
                       'Country'= Country(RCT_records),
                       'Grant' =GrantID(RCT_records),
                       'Acronym' =Acronym(RCT_records),
                       'Agency' =Agency(RCT_records),
                       'Mesh'=Mesh(RCT_records))

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Почему бы не использовать grepl , чтобы добавить столбец, указывающий, найден или нет поисковый термин в абстрактном столбце ваших результатов поиска?grepl вернет логический вектор, указывающий ИСТИНА, если ваш шаблон найден, или ЛОЖЬ, если его нет.

# There are no mentions of "Latino" or "latino" in your df. 
RCT_data$Latino <- grepl("Latino|latino",RCT_data$Abstract)
# There are several mentions of the word "pain":
RCT_data$Pain <- grepl("pain",RCT_data$Abstract)
0 голосов
/ 03 февраля 2019

Это одно из решений:

library(stringr)

RCT_data %>% str_detect("Latino")

Это вернет, в каком столбце находится латиноамериканец, и затем вы можете применить ту же команду к этому столбцу, чтобы найти строки.Например, в столбце Abstract, как показано ниже.

RCT_data %>% mutate(new_variable = ifelse(Abstract %>% str_detect("Latino"), "yes", "no"))

Это добавит новый столбец с именем new_variable, в котором будет указана строка, в которой да, если в нем содержится "латино", и нет, если нет.

...