Title: Get and Show Personal 'Google Scholar' Profile
Version: 0.1.7
Maintainer: Shixiang Wang <w_shixiang@163.com>
Description: Provides functions to get personal 'Google Scholar' profile data from web API and show it in table or figure format.
License: MIT + file LICENSE
URL: https://github.com/ShixiangWang/tinyscholar
BugReports: https://github.com/ShixiangWang/tinyscholar/issues
Imports: curl, dplyr, ggplot2, gt, jsonlite, magrittr, purrr, rlang (≥ 0.1.2), rvest (≥ 1.0.0), stringr, xml2, R.utils
Suggests: knitr, rmarkdown, roxygen2
VignetteBuilder: knitr
Encoding: UTF-8
RoxygenNote: 7.2.0
NeedsCompilation: no
Packaged: 2022-08-09 14:39:08 UTC; wsx
Author: Shixiang Wang ORCID iD [aut, cre]
Repository: CRAN
Date/Publication: 2022-08-09 15:30:02 UTC

Pipe operator

Description

See magrittr::%>% for details.

Usage

lhs %>% rhs

Show Scholar Profile Plot.

Description

Show Scholar Profile Plot.

Usage

scholar_plot(
  profile,
  bar_width = 0.5,
  add_total = FALSE,
  add_text = TRUE,
  title_citations = NULL,
  title_publications = NULL,
  caption_citations = paste("Update:", Sys.Date()),
  caption_publications = caption_citations
)

Arguments

profile

Result from tinyscholar.

bar_width

bar width.

add_total

If TRUE (not default), add total records in plot.

add_text

If TRUE (default), add text on the top of bar.

title_citations

Title for plot citations. Set by ggplot2::labs.

title_publications

Title for plot publications. Set by ggplot2::labs.

caption_citations

Caption for plot citations. Set by ggplot2::labs.

caption_publications

Caption for plot publications. Set by ggplot2::labs.

Value

a length-2 list of ggplot2::ggplot object.

See Also

tinyscholar, scholar_table


Description

Search Google Scholar Highly Related Papers or Author

Usage

scholar_search(
  keyword,
  is_author = TRUE,
  server_url = "https://api.scaleserp.com",
  server_key = NULL
)

Arguments

keyword

A keyword, can be author name, e.g. "Shixiang Wang".

is_author

Default is TRUE, find author information, if FALSE, return the first page result in search engine.

server_url

Server URL, here I use Scale SERP API.

server_key

Key for searching data (multiple is acceptable), you can obtain it from URL above. If not set, use personal key from Shixiang. Total 125x2 free searches per month.

Value

A data.frame or a list.

Examples


x <- scholar_search("Shixiang Wang")
x
x <- scholar_search("Shixiang Wang", is_author = FALSE)
if (!is.null(x)) {
  x$gt
}


Show Scholar Profile Table

Description

Show Scholar Profile Table

Usage

scholar_table(
  profile,
  as_raw_html = FALSE,
  title_citations = "Citations",
  title_publications = "Publications",
  caption_citations = gt::md(paste("**Update**:", Sys.Date())),
  caption_publications = caption_citations
)

Arguments

profile

Result from tinyscholar.

as_raw_html

If TRUE (not default), convert result gt::gt object to raw html text. This is useful when apply the result to GitHub Markdown file.

title_citations

Title for table citations. Set by gt::tab_header.

title_publications

Title for table publications. Set by gt::tab_header.

caption_citations

Caption for table citations. Set by gt::tab_source_note.

caption_publications

Caption for table publications. Set by gt::tab_source_note.

Value

a length-2 list of gt::gt/html object.

See Also

tinyscholar, scholar_plot


Tidy eval helpers

Description

To learn more about tidy eval and how to use these tools, visit https://dplyr.tidyverse.org/articles/programming.html and the Metaprogramming section of Advanced R.


Get Google Scholar Profile

Description

Get Google Scholar Profile

Usage

tinyscholar(
  id,
  sortby_date = FALSE,
  use_cache = TRUE,
  cache_dir = file.path(tempdir(), "tinyscholar")
)

Arguments

id

Your google scholar identifier. You can find it in the URL of your google scholar profile.

sortby_date

Logical. If TRUE, the publications are sorted by date.

use_cache

If TRUE (default), store data to a cache file to avoid querying in next time within a day. The store file is identical for each person and each date.

cache_dir

A directory path.

Value

a Profile object with list structure.

Examples

# Put one unique Scholar ID from Google Scholar
r <- tinyscholar("FvNp0NkAAAAJ")
r
if (!is.null(r)) {
  tb <- scholar_table(r)
  tb$citations
  tb$publications
  pl <- scholar_plot(r)
  pl$citations
  pl$publications
}