Попытка получить даты, принятые RISmed для систематического c обзора, и по какой-то причине это не работает.
########## LOAD PACKAGES ##########
library(RISmed)
### Defined Search Paramaters
srch_nejm <- "((2020/01/01[PDat]:2020/4/01[PDat])) AND (0028-4793[ISSN])"
EUtilsSummary(
retmax=10000,
mindate= 1995,
maxdate= 2021,
datetype = "ppdt") %>%
EUtilsGet(type = "efetch", db = "pubmed")
### Build function to scrape Pubmed into S4
scrape_pubmed <- function (x) {
x %>%
EUtilsSummary(
retmax=10000,
mindate= 1995,
maxdate= 2021,
datetype = "ppdt") %>%
EUtilsGet(type = "efetch", db = "pubmed")
}
### Build function to pull relevant data from S4 into list of lists
make_list <- function (x) {
list(
'PMID' = PMID(x),
'year' = ArticleTitle(x),
'month' = MonthPubmed(x),
'day' = DayPubmed(x),
'ISSN' = ISSN(x),
'title' = ArticleTitle(x),
'year_acc' = YearAccepted(x),
'month_acc' = MonthAccepted(x),
'day_acc' = DayAccepted(x)
)
}
### Build function to generate dataframe from lists
extract_data <- function (x) {
pmap_dfr(x, ~data.frame(
PMID = .x,
year = .y,
month = ..3,
day = ..4,
ISSN = ..5,
title = ..6,
year_acc = ..7,
month_acc = ..8,
day_acc = ..9,
stringsAsFactors = FALSE))
}
### Build function to create scrape, list, and dataframe process
gen_df <- function(x) {
x %>%
scrape_pubmed() %>%
make_list() %>%
extract_data()
}
Так вот код, который я написал для поиска. Надеюсь, кто-то найдет это полезным. Теперь, когда я go, чтобы использовать его:
df_nem <- gen_df(srch(nejm)
> glimpse(df_nejm)
Observations: 6,766
Variables: 16
$ PMID <chr> "32212540", "32212540", "32212540", "3221…
$ year <chr> "Audio Interview: Practical Measures to H…
$ month <dbl> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,…
$ day <dbl> 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 2…
$ ISSN <chr> "1533-4406", "1533-4406", "1533-4406", "1…
$ title <chr> "Audio Interview: Practical Measures to H…
$ year_acc <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ month_acc <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
$ day_acc <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
Все переменные работают, кроме тех, которые о дате принятия.
Кто-нибудь знает, почему даты не отображаются для принятого года / месяца / даты? Очень расстраивает. Спасибо!