R is an open-source language for statistical analysis and data visualizations. Installing third party packages to your R environment provides functionality for connecting to data feeds.
For more information about R, see R: The R Project for Statistical Computing.
Sections in this article:
- Considerations
- Who can do this?
- Connect to your data feeds
- Example: Importing two data feeds and merging them
Considerations
- Igloo Authentication: When connecting to your digital workplace's data feeds, you must authenticate using your Igloo Authentication credentials. If you do not know what your Igloo Authentication password is, see Resetting a forgotten Igloo password.
-
R Libraries: The instructions in this article use:
- httr package: Library for GET requests to data feeds URIs.
- keyringr (Optional): Library for securely storing authentication credentials.
- jsonlite: Library for working with JSON data.
Who can do this?
- Enterprise administrators
- Workplace administrators
- Members of groups with the Access Analytics role
Connect to your data feeds
- (Optional) Securely store authentication credentials with keyringr. Follow the keyringr instructions for your operating system.
-
Within the R environment, load the needed packages.
install.packages("httr") install.packages("keyringr")#if using keyringr install.packages("jsonlite") library(httr) library(keyringr)#if using keyringr library(jsonlite) -
Compose the URI of the GET request for the desired table.
url <- "https://{your community domain}/odata/dUser"If using a filter, or URI that contains spaces, the character code of "%20" must be used in place of a space.
url <- "https://{your community domain}/odata/dUser?$filter=user_key%20eq%2020322315" -
Get the data feeds.
response <- GET(url, authenticate('{username}','{pass}')) df1 <- jsonlite::fromJSON(rawToChar((response$content)))If using a secure method of password storage, substitute its function for '{pass}'.
Example: Importing two data feeds and merging them
-
Install and load the libraries.
install.packages("httr") install.packages("keyringr")#if using keyringr install.packages("jsonlite") library(httr) library(keyringr) library(jsonlite) -
Compose the URIs for the desired data feeds.
url1 <- "https://{your community domain}/odata/dContainerSpace" #odata url for space dimension table url2 <- "https://{your community domain}/odata/fContainerSpace" #odata url for space fact table -
Get the data feeds.
response1 <- GET(url1, authenticate('user', 'pass')) #load data for dimension table df1 <- jsonlite::fromJSON(rawToChar((response1$content))) #parse dimension data to dataframe response2 <- GET(url2, authenticate('user', 'pass')) #load data for fact table df2 <- jsonlite::fromJSON(rawToChar((response2$content))) #parse fact data to dataframe -
Merge the data feeds on their key.
merge(x=df1,y=df2,by.x=df1$space_key,by.y=df2$space_key) #join fact and dimension tables to get details for space level activity