title: "5 - On-line Attention" date: "2020-10-04" always_allow_html: yes output: md_document: variant: gfm vignette: > %\VignetteIndexEntry{Vignette Title} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8}
On-line attention and engagement for research is now well recognised as important alternative metrics to traditional metrics (although there are well recognised concerns regarding potential for manipulation), and has been repeatedly found to be positively correlated with article citations.
Altmetric is one such system that tracks the attention research outputs receive online, and this package utilises the rAltmetric package developed by the rOpenSci group to incorporate this data.
Note: At present this package only includes Altmetric data. PlumX is the other major source of alternative metrics, however there is no open API available for this product (it requires an authentication token) and so has not been incorporated at present.
Altmetric is a system that tracks the attention that research outputs such as scholarly articles and datasets receive online. It pulls data from:
Social media like Twitter and Facebook
Traditional media - both mainstream (The Guardian, New York Times) and field specific (New Scientist, Bird Watching).
Blogs - both major organisations (Cancer Research UK) and individual researchers.
Online reference managers like Mendeley and CiteULike
The impact_altmetric()
function aims to provide easy access to this source of information in useful format. At present this required articles to a pubmed identification number (pmid), however functionality to use DOI as an alternative is planned.
altmetric <- impactr::impact_altmetric(pmid)
There are 4 outputs from impact_altmetric()
as nested dataframes: $df
, $temporal
, $rank
, and $source
.
This will return the original dataset with data from altmetric appended as columns. There are 4 broad groups that describes the:
"alm_score_" prefix: Overall altmetric score over time (see $temporal
output below).
"alm_all " / "alm_journal" prefixes: Context of altmetric score relative to other articles (see $rank
output below).
"n_engage_" prefix: Number of engagements with the article by source (see $source
output below).
"date_" prefix: Dates that the article was published, added to altmetric, and when altmetric data was last updated.
The following outputs do not contain additional information beyond what is already provided in $df
. However, these provide long format and focussed aspects of data to facilitate easier visualisation and analysis. These exclude any publications not tracked by altmetric.
altmetric records the altmetric score contemporaneous, and at set intervals following publication (1 week, 1 month, 3 months, 6 months, 1 year). It also records date of publication which allows calculation of a standardised time since publication (alm_time
).
Figure 1: Plot of altmetric score over time for each paper
altmetric$temporal %>%
ggplot() +
aes(x = alm_time, y = alm_score, group = pmid, colour = pmid) +
geom_line() + geom_point() + theme_bw()
## Error: Aesthetics must be either length 1 or the same as the data (247): group and colour
The altmetric score is not normalised, and so it is meaningless without context. As such, altmetric allows you to see the score relative to other articles (whether from all indexed by altmetric or those from the same journal at the same time). Within $rank
these categories (alm_category) include:
all: All papers recorded by altmetric.
journal_all: All papers recorded by altmetric for that journal
journal_3m: All papers recorded by altmetric for that journal within a 3 month period
For each category, altmetric records the following measures:
The mean altmetric score (mean
).
The number (n
) of all papers, and the rank of the specific paper within those (rank
).
The proportion of papers (prop
) that the paper outranks (rank
/ n
).
Figure 2: Plot of the percentage rank of each publication within each altmetric category.
altmetric$rank %>%
dplyr::mutate(journal = gsub(": The British Journal of Anaesthesia", "", journal),
pmid = as.character(pmid)) %>%
dplyr::mutate("Altmetric Ranking (%)" = round(prop*100, 1),
"Altmetric Category" = factor(as.character(alm_category), levels=c("all", "journal_all", "journal_3m"))) %>%
ggplot() +
aes(x = `Altmetric Category`, y = `Altmetric Ranking (%)`) +
geom_point() + geom_boxplot() +
theme_bw()
## Error: Invalid index: out of bounds
## Error in grid.draw(plot): object 'plot_alm_rank' not found
The Altmetric score for a research output provides an indicator of the amount of attention that it has received from, and as such records both the type and amount of attention recieved. This data excludes any sources not recorded for any of the papers.
id doi n_engage_all source n total prop 30579405 10.1002/bjs.9614 393 fb 7 174 0.0402299 30579405 10.1002/bjs.9614 393 blogs 1 174 0.0057471 30579405 10.1002/bjs.9614 393 twitter 164 174 0.9425287 30579405 10.1002/bjs.9614 393 wikipedia 2 174 0.0114943 30579405 10.1002/bjs.9614 393 news_media 0 174 0.0000000 29984818 10.1371/journal.pone.0118899 143 fb 0 72 0.0000000 29984818 10.1371/journal.pone.0118899 143 blogs 0 72 0.0000000 29984818 10.1371/journal.pone.0118899 143 twitter 72 72 1.0000000 29984818 10.1371/journal.pone.0118899 143 wikipedia 0 72 0.0000000 29984818 10.1371/journal.pone.0118899 143 news_media 0 72 0.0000000 29897171 10.1186/s12909-015-0326-1 194 fb 5 96 0.0520833 29897171 10.1186/s12909-015-0326-1 194 blogs 0 96 0.0000000Figure 3: Plot of the proportion of altmetric sources for each paper
altmetric$source %>%
ggplot() +
aes(x = pmid, y = prop, colour = source, fill = source) +
geom_col() + coord_flip()+ theme_bw()
## Error: Aesthetics must be either length 1 or the same as the data (100): x
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.