Accessible Data Science for the Blind Using R
Three Available Packages Tailored for Visually Impaired R Users
There are three packages for the blind R users “sonify” (Siegert & Williams, 2017) for data sonification; “BrailleR” for data textualization (Godfrey, Warren, Murrell, Bilton, & Sorge, 2020); and “tactileR” for data tactualization [Seo (2020); ].
Data Sonification
Figure 1: Sample scatter plot.
You can sonify the scatterplot above using “sonify” package (Siegert & Williams, 2017) as follows:
library(sonify)
sonify(1:5, 1:5)
Data Textualization
You can get an alternative text description for some basic R graphs using “BrailleR” package (Godfrey et al., 2020).
Basic R Graph
Histogram
Figure 2: Histogram of Ozone.
Figure 2 can be textualized like below:
library(BrailleR)
VI(hist(airquality$Ozone))
## This is a histogram, with the title: Histogram of airquality$Ozone
## "airquality$Ozone" is marked on the x-axis.
## Tick marks for the x-axis are at: 0, 50, 100, and 150
## There are a total of 116 elements for this variable.
## Tick marks for the y-axis are at: 0, 10, 20, and 30
## It has 9 bins with equal widths, starting at 0 and ending at 180 .
## The mids and counts for the bins are:
## mid = 10 count = 37
## mid = 30 count = 34
## mid = 50 count = 14
## mid = 70 count = 15
## mid = 90 count = 9
## mid = 110 count = 4
## mid = 130 count = 2
## mid = 150 count = 0
## mid = 170 count = 1
Boxplot
Figure 3: Boxplot of dist.
Figure 3 can be textualized like below:
library(BrailleR)
VI(boxplot(cars$dist))
## This graph has a boxplot printed vertically
## with the title:
## "" appears on the x-axis.
## "" appears on the y-axis.
## Tick marks for the y-axis are at: 0, 20, 40, 60, 80, 100, and 120
## This variable 1 has 50 values.
## An outlier is marked at: 120
## The whiskers extend to 2 and 93 from the ends of the box,
## which are at 26 and 56
## The median, 36 is 33 % from the lower end of the box to the upper end.
## The upper whisker is 1.54 times the length of the lower whisker.
Ggplot
Some graphics produced by ggplot2
package (Wickham et al., 2020) can be also textualized.
Figure 4: Population Growth: An Example Line Chart.
The following is the textualized version of the Figure 4:
VI(g)
## This chart has title 'Population Growth'.
## It has x-axis 'Month' with labels .
## It has y-axis 'Population' with labels .
## There is a legend indicating that colour is used to represent factor(year), with 16 levels:
## 2000 represented by colour light greenish blue,
## 2001 represented by colour dark greenish blue,
## 2002 represented by colour brilliant blue,
## 2003 represented by colour very light blue,
## 2004 represented by colour vivid bluish green,
## 2005 represented by colour light bluish green,
## 2006 represented by colour strong reddish brown,
## 2007 represented by colour strong yellowish pink,
## 2008 represented by colour light gray,
## 2009 represented by colour white,
## 2010 represented by colour white,
## 2011 represented by colour white,
## 2012 represented by colour white,
## 2013 represented by colour white,
## 2014 represented by colour white and
## 2015 represented by colour white.
## The chart is a set of 16 lines.
Data Tactualization
You can even make a tactile graph using “tactileR” package (Seo, 2020).
Please refer to the following video that explains how I create a tactile graph.
References
Godfrey, A. J. R., Warren, D., Murrell, P., Bilton, T., & Sorge, V. (2020). BrailleR: Improved access for blind users. Retrieved from https://github.com/ajrgodfrey/BrailleR
Seo, J. (2020). TactileR: Converting r graphics into a braille ready-to-print pdf. Retrieved from https://github.com/jooyoungseo/tactileR
Siegert, S., & Williams, R. (2017). Sonify: Data sonification - turning data into sound. Retrieved from https://CRAN.R-project.org/package=sonify
Wickham, H., Chang, W., Henry, L., Pedersen, T. L., Takahashi, K., Wilke, C., … Dunnington, D. (2020). Ggplot2: Create elegant data visualisations using the grammar of graphics. Retrieved from https://CRAN.R-project.org/package=ggplot2