6.2 KiB
wpa
Analyze and Visualize Workplace Analytics data
This is an R package for analyzing and visualizing data from Microsoft Workplace Analytics.
Design Principles
- Simple: the functions ought to be simple and intuitive, to maximise adoption.
- Practical: the functions should prioritise delivering against the most frequently used outputs and analyses.
- Consistency: functions should share a broadly consistent set of input arguments and naming conventions. This will help minimise unexpected results and errors when using the package.
- Parsimony: in creating the package, as much of the existing code should be re-used if possible to minimise duplication of work and to make analysis reproducible.
- Tidy: the functions from the package are designed to be consistent with tidy principles, and work well with a dplyr pipe (
%>%
) workflow.
With the wpa package, you can...
- Run prebuilt analysis and visualizations off Workplace Analytics data with settings for HR variables, privacy threshold, etc.
- Generate prebuilt interactive HTML reports, which cover specific areas e.g. collaboration, connectivity
- Leverage advanced analytics functions, such as text mining and hierarchical clustering, which are built for Workplace Analytics metrics
- Integrate analysis of Workplace Analytics data with your R workflow seamlessly
🚀 Quick start guide - For users
Installing the package from GitHub
You can install wpa from GitHub with the following:
# Check if devtools is installed, if not then install it
if(!"devtools" %in% installed.packages()){
install.packages("devtools")
}
devtools::install_git(url = "https://github.com/microsoft/wpa.git")
Examples
The package comes shipped with a sample Standard Query dataset (sq_data
), so you can start exploring functions without having to read in any data. Most functions in wpa share a consistent API, and enable you to return results for both a plot or a table (data frame):
collaboration_sum(sq_data, return = "plot")
By passing 'table' to the return
argument, the function will return a data frame with the relevant summary statistics.
📦 Package Structure
There are four main types of functions in wpa:
- Standard Analysis
- Report Generation
- Advanced / Support Functions
- Sample datasets
1. Standard Analysis
Standard Analysis functions are the most common type of functions in wpa. They typically accept a data frame as an input (usually requiring a Standard Person Query), and can return either a pre-designed graph as a ggplot object, or a summary data table as a data frame.
Examples:
collaboration_dist()
meeting_summary()
email_trend()
mgrrel_matrix()
2. Report Generation
Report Generation functions are a special class of functions within wpa which outputs an interactive HTML report on a specific area based on the data you supply.
Examples:
collaboration_report()
capacity_report()
coaching_report()
connectivity_report()
meeting_tm_report()
validation_report()
3. Advanced / support functions
This group consists of miscellaneous functions which either perform a specific piece of analysis (e.g. computing the Information Value score), or are designed to be used with Standard Analysis functions.
A significant example of this is export()
, which you can use with a Standard Analysis function to:
- Copy a data frame to clipboard (which can be pasted into Excel)
- Save the generated plot as a PNG or a SVG image file
- Save the data frame to a CSV file
4. Sample datasets
There are several pre-loaded demo Workplace Analytics datasets that you can use straight away from the package, to help you explore the functions more easily. Here is a list of them:
sq_data
: Standard Person Querymt_data
: Standard Meeting Queryem_data
: Hourly Collaboration Queryg2g_data
: Group-to-group Query
You can explore the structure of these datasets by running ?sq_data
or dplyr::glimpse(sq_data)
, for instance.
Vignette
You can browse the vignette by running the following in R:
vignette(topic = "intro-to-wpa", package = "wpa")
🔨 Developers
We welcome contributions to the package!
Contributing code
If you would like contribute code to the repo, please read our Contributor Guide and Developer Guide. This documentation should provide you all the information you will need to get started.
Issues or Feature Requests
If you would like to log an issue or submit a feature request, please create a new issue or comment on an existing issue on GitHub Issues on this repo.
Reporting Security Issues
Please do not report security vulnerabilities through public GitHub issues. Please read our Security document for more details.
Code of Conduct
We would ask you to please read the Microsoft Open Source Code of Conduct prior to engaging with this package.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.