## This project covers the use of association rules project
## Salary for Data Science employee
rm(list=ls())
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(arules)    # Association rules    
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## 
## The following objects are masked from 'package:tidyr':
## 
##     expand, pack, unpack
## 
## 
## Attaching package: 'arules'
## 
## The following object is masked from 'package:dplyr':
## 
##     recode
## 
## The following objects are masked from 'package:base':
## 
##     abbreviate, write
dat <- read.table("/Users/drlakeshialegettejones/Downloads/Datasets/ds_salaries.csv",
           header = TRUE, sep=",", row.names = 1)

# This line will remove variables salary and salary_currency because they are redundant.
dat <- dat %>% select( -"salary",-"salary_currency")

dim(dat)
## [1] 607   9
names(dat)
## [1] "work_year"          "experience_level"   "employment_type"   
## [4] "job_title"          "salary_in_usd"      "employee_residence"
## [7] "remote_ratio"       "company_location"   "company_size"
#View(dat)
glimpse(dat)
## Rows: 607
## Columns: 9
## $ work_year          <int> 2020, 2020, 2020, 2020, 2020, 2020, 2020, 2020, 202…
## $ experience_level   <chr> "MI", "SE", "SE", "MI", "SE", "EN", "SE", "MI", "MI…
## $ employment_type    <chr> "FT", "FT", "FT", "FT", "FT", "FT", "FT", "FT", "FT…
## $ job_title          <chr> "Data Scientist", "Machine Learning Scientist", "Bi…
## $ salary_in_usd      <int> 79833, 260000, 109024, 20000, 150000, 72000, 190000…
## $ employee_residence <chr> "DE", "JP", "GB", "HN", "US", "US", "US", "HU", "US…
## $ remote_ratio       <int> 0, 0, 50, 0, 50, 100, 100, 50, 100, 50, 0, 0, 0, 10…
## $ company_location   <chr> "DE", "JP", "GB", "HN", "US", "US", "US", "HU", "US…
## $ company_size       <chr> "L", "S", "M", "S", "L", "L", "S", "L", "L", "S", "…
## ----- Variable description
# work_year : The year the salary was paid.
# experience_level :    The experience level in the job during the year with the following possible values: EN Entry-level / Junior MI Mid-level / Intermediate SE Senior-level / Expert EX Executive-level / Director
# employment_type : The type of employement for the role: PT Part-time FT Full-time CT Contract FL Freelance
# job_title :   The role worked in during the year.
# salary :  The total gross salary amount paid.
# salary_currency : The currency of the salary paid as an ISO 4217 currency code.
# salary_in_usd :   The salary in USD (FX rate divided by avg. USD rate for the respective year via fxdata.foorilla.com).
# employee_residence :  Employee primary country of residence in during the work year as an ISO 3166 country code.
# remote_ratio :    The overall amount of work done remotely, possible values are as follows: 0 No remote work (less than 20 per) 50 Partially remote 100 Fully remote (more than 80%)
# company_location :    The country of the employer's main office or contracting branch as an ISO 3166 country code.
# company_size :    The average number of people that worked for the company during the year: S less than 50 employees (small) M 50 to 250 employees (medium) L more than 250 employees (large)

## Frequency table checking
table(dat$work_year)
## 
## 2020 2021 2022 
##   72  217  318
table(dat$experience_level)
## 
##  EN  EX  MI  SE 
##  88  26 213 280
table(dat$employment_type)
## 
##  CT  FL  FT  PT 
##   5   4 588  10
sort( table(dat$job_title) , decreasing = TRUE)
## 
##                           Data Scientist 
##                                      143 
##                            Data Engineer 
##                                      132 
##                             Data Analyst 
##                                       97 
##                Machine Learning Engineer 
##                                       41 
##                       Research Scientist 
##                                       16 
##                     Data Science Manager 
##                                       12 
##                           Data Architect 
##                                       11 
##                        Big Data Engineer 
##                                        8 
##               Machine Learning Scientist 
##                                        8 
##                             AI Scientist 
##                                        7 
##                   Data Analytics Manager 
##                                        7 
##                  Data Science Consultant 
##                                        7 
##                 Director of Data Science 
##                                        7 
##                 Principal Data Scientist 
##                                        7 
##                          BI Data Analyst 
##                                        6 
##                 Computer Vision Engineer 
##                                        6 
##                       Lead Data Engineer 
##                                        6 
##                              ML Engineer 
##                                        6 
##                   Applied Data Scientist 
##                                        5 
##                    Business Data Analyst 
##                                        5 
##                 Data Engineering Manager 
##                                        5 
##                             Head of Data 
##                                        5 
##                       Analytics Engineer 
##                                        4 
##       Applied Machine Learning Scientist 
##                                        4 
##                  Data Analytics Engineer 
##                                        4 
##                     Head of Data Science 
##                                        4 
##        Computer Vision Software Engineer 
##                                        3 
##                    Data Science Engineer 
##                                        3 
##                        Lead Data Analyst 
##                                        3 
##                      Lead Data Scientist 
##                                        3 
##               Machine Learning Developer 
##                                        3 
## Machine Learning Infrastructure Engineer 
##                                        3 
##                  Principal Data Engineer 
##                                        3 
##                      Cloud Data Engineer 
##                                        2 
##             Director of Data Engineering 
##                                        2 
##                            ETL Developer 
##                                        2 
##                   Financial Data Analyst 
##                                        2 
##                   Principal Data Analyst 
##                                        2 
##                     Product Data Analyst 
##                                        2 
##            3D Computer Vision Researcher 
##                                        1 
##                       Big Data Architect 
##                                        1 
##                      Data Analytics Lead 
##                                        1 
##                          Data Specialist 
##                                        1 
##                     Finance Data Analyst 
##                                        1 
##                 Head of Machine Learning 
##                                        1 
##           Lead Machine Learning Engineer 
##                                        1 
##                 Machine Learning Manager 
##                                        1 
##                   Marketing Data Analyst 
##                                        1 
##                             NLP Engineer 
##                                        1 
##                     Staff Data Scientist 
##                                        1
dat %>% group_by(job_title) %>% 
   summarize(salary_mean = mean(salary_in_usd),
             freq = n()) %>% 
   as.data.frame() %>% arrange(desc(salary_mean) )
##                                   job_title salary_mean freq
## 1                       Data Analytics Lead   405000.00    1
## 2                   Principal Data Engineer   328333.33    3
## 3                    Financial Data Analyst   275000.00    2
## 4                  Principal Data Scientist   215242.43    7
## 5                  Director of Data Science   195074.00    7
## 6                            Data Architect   177873.91   11
## 7                    Applied Data Scientist   175655.00    5
## 8                        Analytics Engineer   175000.00    4
## 9                           Data Specialist   165000.00    1
## 10                             Head of Data   160162.60    5
## 11               Machine Learning Scientist   158412.50    8
## 12                     Data Science Manager   158328.50   12
## 13             Director of Data Engineering   156738.00    2
## 14                     Head of Data Science   146718.75    4
## 15       Applied Machine Learning Scientist   142068.75    4
## 16                       Lead Data Engineer   139724.50    6
## 17                   Data Analytics Manager   127134.29    7
## 18                      Cloud Data Engineer   124647.00    2
## 19                 Data Engineering Manager   123227.20    5
## 20                   Principal Data Analyst   122500.00    2
## 21                              ML Engineer   117504.00    6
## 22                 Machine Learning Manager   117104.00    1
## 23                      Lead Data Scientist   115190.00    3
## 24                            Data Engineer   112725.00  132
## 25                       Research Scientist   109019.50   16
## 26                           Data Scientist   108187.83  143
## 27        Computer Vision Software Engineer   105248.67    3
## 28                     Staff Data Scientist   105000.00    1
## 29                Machine Learning Engineer   104880.15   41
## 30 Machine Learning Infrastructure Engineer   101145.00    3
## 31                       Big Data Architect    99703.00    1
## 32                             Data Analyst    92893.06   97
## 33                        Lead Data Analyst    92203.00    3
## 34                   Marketing Data Analyst    88654.00    1
## 35           Lead Machine Learning Engineer    87932.00    1
## 36               Machine Learning Developer    85860.67    3
## 37                 Head of Machine Learning    79039.00    1
## 38                    Business Data Analyst    76691.20    5
## 39                    Data Science Engineer    75803.33    3
## 40                          BI Data Analyst    74755.17    6
## 41                  Data Science Consultant    69420.71    7
## 42                             AI Scientist    66135.57    7
## 43                  Data Analytics Engineer    64799.25    4
## 44                     Finance Data Analyst    61896.00    1
## 45                            ETL Developer    54957.00    2
## 46                        Big Data Engineer    51974.00    8
## 47                 Computer Vision Engineer    44419.33    6
## 48                             NLP Engineer    37236.00    1
## 49                     Product Data Analyst    13036.00    2
## 50            3D Computer Vision Researcher     5409.00    1
unique(dat$job_title)
##  [1] "Data Scientist"                          
##  [2] "Machine Learning Scientist"              
##  [3] "Big Data Engineer"                       
##  [4] "Product Data Analyst"                    
##  [5] "Machine Learning Engineer"               
##  [6] "Data Analyst"                            
##  [7] "Lead Data Scientist"                     
##  [8] "Business Data Analyst"                   
##  [9] "Lead Data Engineer"                      
## [10] "Lead Data Analyst"                       
## [11] "Data Engineer"                           
## [12] "Data Science Consultant"                 
## [13] "BI Data Analyst"                         
## [14] "Director of Data Science"                
## [15] "Research Scientist"                      
## [16] "Machine Learning Manager"                
## [17] "Data Engineering Manager"                
## [18] "Machine Learning Infrastructure Engineer"
## [19] "ML Engineer"                             
## [20] "AI Scientist"                            
## [21] "Computer Vision Engineer"                
## [22] "Principal Data Scientist"                
## [23] "Data Science Manager"                    
## [24] "Head of Data"                            
## [25] "3D Computer Vision Researcher"           
## [26] "Data Analytics Engineer"                 
## [27] "Applied Data Scientist"                  
## [28] "Marketing Data Analyst"                  
## [29] "Cloud Data Engineer"                     
## [30] "Financial Data Analyst"                  
## [31] "Computer Vision Software Engineer"       
## [32] "Director of Data Engineering"            
## [33] "Data Science Engineer"                   
## [34] "Principal Data Engineer"                 
## [35] "Machine Learning Developer"              
## [36] "Applied Machine Learning Scientist"      
## [37] "Data Analytics Manager"                  
## [38] "Head of Data Science"                    
## [39] "Data Specialist"                         
## [40] "Data Architect"                          
## [41] "Finance Data Analyst"                    
## [42] "Principal Data Analyst"                  
## [43] "Big Data Architect"                      
## [44] "Staff Data Scientist"                    
## [45] "Analytics Engineer"                      
## [46] "ETL Developer"                           
## [47] "Head of Machine Learning"                
## [48] "NLP Engineer"                            
## [49] "Lead Machine Learning Engineer"          
## [50] "Data Analytics Lead"
unique(dat$employee_residence)
##  [1] "DE" "JP" "GB" "HN" "US" "HU" "NZ" "FR" "IN" "PK" "PL" "PT" "CN" "GR" "AE"
## [16] "NL" "MX" "CA" "AT" "NG" "PH" "ES" "DK" "RU" "IT" "HR" "BG" "SG" "BR" "IQ"
## [31] "VN" "BE" "UA" "MT" "CL" "RO" "IR" "CO" "MD" "KE" "SI" "HK" "TR" "RS" "PR"
## [46] "LU" "JE" "CZ" "AR" "DZ" "TN" "MY" "EE" "AU" "BO" "IE" "CH"
table(dat$employee_residence)
## 
##  AE  AR  AT  AU  BE  BG  BO  BR  CA  CH  CL  CN  CO  CZ  DE  DK  DZ  EE  ES  FR 
##   3   1   3   3   2   1   1   6  29   1   1   1   1   1  25   2   1   1  15  18 
##  GB  GR  HK  HN  HR  HU  IE  IN  IQ  IR  IT  JE  JP  KE  LU  MD  MT  MX  MY  NG 
##  44  13   1   1   1   2   1  30   1   1   4   1   7   1   1   1   1   2   1   2 
##  NL  NZ  PH  PK  PL  PR  PT  RO  RS  RU  SG  SI  TN  TR  UA  US  VN 
##   5   1   1   6   4   1   6   2   1   4   2   2   1   3   1 332   3
table(dat$remote_ratio)
## 
##   0  50 100 
## 127  99 381
table(dat$company_location)
## 
##  AE  AS  AT  AU  BE  BR  CA  CH  CL  CN  CO  CZ  DE  DK  DZ  EE  ES  FR  GB  GR 
##   3   1   4   3   2   3  30   2   1   2   1   2  28   3   1   1  14  15  47  11 
##  HN  HR  HU  IE  IL  IN  IQ  IR  IT  JP  KE  LU  MD  MT  MX  MY  NG  NL  NZ  PK 
##   1   1   1   1   1  24   1   1   2   6   1   3   1   1   3   1   2   4   1   3 
##  PL  PT  RO  RU  SG  SI  TR  UA  US  VN 
##   4   4   1   2   1   2   3   1 355   1
unique(dat$company_location)
##  [1] "DE" "JP" "GB" "HN" "US" "HU" "NZ" "FR" "IN" "PK" "CN" "GR" "AE" "NL" "MX"
## [16] "CA" "AT" "NG" "ES" "PT" "DK" "IT" "HR" "LU" "PL" "SG" "RO" "IQ" "BR" "BE"
## [31] "UA" "IL" "RU" "MT" "CL" "IR" "CO" "MD" "KE" "SI" "CH" "VN" "AS" "TR" "CZ"
## [46] "DZ" "EE" "MY" "AU" "IE"
table(dat$company_size)
## 
##   L   M   S 
## 198 326  83
## Discretise salary data
hist( dat$salary_in_usd)

quantile(dat$salary_in_usd, c(.25, .50, .75, 1)) 
##    25%    50%    75%   100% 
##  62726 101570 150000 600000
# We can create the categorical data for salaries any way we desire - - examples are below

#Example 1
# dat$salary_in_usd <- cut(dat$salary_in_usd,breaks= c(0,60000, 100000, 150000, 600000),
#                          labels=c("<60K%","60k-100k","100k-150k","150k-600k") )
#Example 2
#dat$salary_in_usd <- cut(dat$salary_in_usd,breaks= c(0,60000, 600000),
 #                        labels=c("<60k",">60k") )

#Example 3 - this one is currently being used.
dat$salary_in_usd <- cut(dat$salary_in_usd,breaks= c(0,90000, 120000, 600000),
                         labels=c("<90k","90000k-120000k", ">120000k") )

table(dat$salary_in_usd)
## 
##           <90k 90000k-120000k       >120000k 
##            254            121            232
## --- Make company location into broad category
dat <- dat %>% mutate( company_location =  case_when( company_location %in% c("US", "CA") ~ 1,
                                                       .default = 0 )) 
dat$company_location <- factor(dat$company_location, levels = c(1,0),
                      labels= c("US_CA", "Not_US_CA"))
## --- Make employee residence into broad category
dat <- dat %>% mutate( employee_residence =  case_when( employee_residence %in% c("US", "CA") ~ 1,
                                                      .default = 0 )) 
dat$employee_residence <- factor(dat$employee_residence, levels = c(1,0),
                               labels= c("US_CA", "Not_US_CA"))
#
## --- Make job title into broad category
dat <- dat %>% mutate( job_title =  case_when( 
                       job_title %in% c("Data Analytics Lead", "Director of Data Science", "Head of Data", "Data Science Manager", "Director of Data Engineering", "Head of Data Science","Lead Data Engineer", "Data Analytics Manager", "Machine Learning Manager", "Lead Data Scientist","Lead Data Analyst", "Lead Machine Learning Engineer", "Head of Machine Learning", "Data Engineering Manager" ) ~  1,
                       job_title %in% c("Principal Data Scientist", "Applied Data Scientist", "Applied Data Scientist", "Machine Learning Scientist", "Applied Machine Learning Scientist", "Research Scientist", "Data Scientist", "Staff Data Scientist", "AI Scientist") ~ 2,    #Scientist 
                       job_title %in% c("Financial Data Analyst", "Data Architect", "Data Specialist", "Principal Data Analyst", "Big Data Architect", "Data Analyst", "Marketing Data Analyst", "Machine Learning Developer", "Business Data Analyst", "BI Data Analyst", "Data Science Consultant", "Finance Data Analyst", "ETL Developer", "Product Data Analyst", "3D Computer Vision Researcher") ~ 3,     #Analyst
                       job_title %in% c("Principal Data Engineer", "Analytics Engineer", "Analytics Enginee", "Cloud Data Engineer", "ML Engineer", "Data Engineer", "Computer Vision Software Engineer", "Machine Learning Engineer", "Machine Learning Infrastructure Engineer", "Data Science Engineer", "Data Analytics Engineer", "Big Data Engineer", "Computer Vision Engineer", "NLP Engineer") ~ 4,  #Engineer
                                                        .default = 0 )) 
#
dat$job_title <- factor(dat$job_title, levels = c(1,2,3,4,0),
                                 labels= c("Manager/Driector", "Scientist", "Analyst", "Enginer", "Other position"))
#
#View(dat[, c("job_title", "job_title1")])
## ---- Change character type to factor type variable
dat$work_year        <- factor(dat$work_year)
dat$experience_level <- factor(dat$experience_level,labels=c("EN","EX", "MI", "SE"))
dat$employment_type  <- factor(dat$employment_type,  labels=c("CT","FL", "FT", "PT"))
dat$remote_ratio     <- factor(dat$remote_ratio)
dat$company_size     <- factor(dat$company_size)

## ---- Choose final variables
dat1 <- dat %>% select(-"work_year")
glimpse(dat1)
## Rows: 607
## Columns: 8
## $ experience_level   <fct> MI, SE, SE, MI, SE, EN, SE, MI, MI, SE, EN, MI, EN,…
## $ employment_type    <fct> FT, FT, FT, FT, FT, FT, FT, FT, FT, FT, FT, FT, FT,…
## $ job_title          <fct> Scientist, Scientist, Enginer, Analyst, Enginer, An…
## $ salary_in_usd      <fct> <90k, >120000k, 90000k-120000k, <90k, >120000k, <90…
## $ employee_residence <fct> Not_US_CA, Not_US_CA, Not_US_CA, Not_US_CA, US_CA, …
## $ remote_ratio       <fct> 0, 0, 50, 0, 50, 100, 100, 50, 100, 50, 0, 0, 0, 10…
## $ company_location   <fct> Not_US_CA, Not_US_CA, Not_US_CA, Not_US_CA, US_CA, …
## $ company_size       <fct> L, S, M, S, L, L, S, L, L, S, S, L, M, L, L, L, S, …

Association rule (package: arules)

##
## ----------------- Association rule application
##

## ----Make transaction object
dat1 <- as(dat1,"transactions") #
class(dat1)
## [1] "transactions"
## attr(,"package")
## [1] "arules"
str(dat1) #
## Formal class 'transactions' [package "arules"] with 3 slots
##   ..@ data       :Formal class 'ngCMatrix' [package "Matrix"] with 5 slots
##   .. .. ..@ i       : int [1:4856] 2 6 9 13 17 18 22 23 3 6 ...
##   .. .. ..@ p       : int [1:608] 0 8 16 24 32 40 48 56 64 72 ...
##   .. .. ..@ Dim     : int [1:2] 26 607
##   .. .. ..@ Dimnames:List of 2
##   .. .. .. ..$ : NULL
##   .. .. .. ..$ : NULL
##   .. .. ..@ factors : list()
##   ..@ itemInfo   :'data.frame':  26 obs. of  3 variables:
##   .. ..$ labels   : chr [1:26] "experience_level=EN" "experience_level=EX" "experience_level=MI" "experience_level=SE" ...
##   .. ..$ variables: Factor w/ 8 levels "company_location",..: 5 5 5 5 4 4 4 4 6 6 ...
##   .. ..$ levels   : Factor w/ 24 levels "<90k",">120000k",..: 9 11 17 23 8 12 13 20 16 22 ...
##   ..@ itemsetInfo:'data.frame':  607 obs. of  1 variable:
##   .. ..$ transactionID: chr [1:607] "0" "1" "2" "3" ...
dat1@itemInfo$variables
##  [1] experience_level   experience_level   experience_level   experience_level  
##  [5] employment_type    employment_type    employment_type    employment_type   
##  [9] job_title          job_title          job_title          job_title         
## [13] job_title          salary_in_usd      salary_in_usd      salary_in_usd     
## [17] employee_residence employee_residence remote_ratio       remote_ratio      
## [21] remote_ratio       company_location   company_location   company_size      
## [25] company_size       company_size      
## 8 Levels: company_location company_size employee_residence ... salary_in_usd
#str(dat1)
# Item information
dat1@itemInfo
##                          labels          variables           levels
## 1           experience_level=EN   experience_level               EN
## 2           experience_level=EX   experience_level               EX
## 3           experience_level=MI   experience_level               MI
## 4           experience_level=SE   experience_level               SE
## 5            employment_type=CT    employment_type               CT
## 6            employment_type=FL    employment_type               FL
## 7            employment_type=FT    employment_type               FT
## 8            employment_type=PT    employment_type               PT
## 9    job_title=Manager/Driector          job_title Manager/Driector
## 10          job_title=Scientist          job_title        Scientist
## 11            job_title=Analyst          job_title          Analyst
## 12            job_title=Enginer          job_title          Enginer
## 13     job_title=Other position          job_title   Other position
## 14           salary_in_usd=<90k      salary_in_usd             <90k
## 15 salary_in_usd=90000k-120000k      salary_in_usd   90000k-120000k
## 16       salary_in_usd=>120000k      salary_in_usd         >120000k
## 17     employee_residence=US_CA employee_residence            US_CA
## 18 employee_residence=Not_US_CA employee_residence        Not_US_CA
## 19               remote_ratio=0       remote_ratio                0
## 20              remote_ratio=50       remote_ratio               50
## 21             remote_ratio=100       remote_ratio              100
## 22       company_location=US_CA   company_location            US_CA
## 23   company_location=Not_US_CA   company_location        Not_US_CA
## 24               company_size=L       company_size                L
## 25               company_size=M       company_size                M
## 26               company_size=S       company_size                S
# Sparcity of transaction matrix, Most frequent items
summary(dat1)
## transactions as itemMatrix in sparse format with
##  607 rows (elements/itemsets/transactions) and
##  26 columns (items) and a density of 0.3076923 
## 
## most frequent items:
##       employment_type=FT   company_location=US_CA         remote_ratio=100 
##                      588                      385                      381 
## employee_residence=US_CA           company_size=M                  (Other) 
##                      361                      326                     2815 
## 
## element (itemset/transaction) length distribution:
## sizes
##   8 
## 607 
## 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       8       8       8       8       8       8 
## 
## includes extended item information - examples:
##                labels        variables levels
## 1 experience_level=EN experience_level     EN
## 2 experience_level=EX experience_level     EX
## 3 experience_level=MI experience_level     MI
## 
## includes extended transaction information - examples:
##   transactionID
## 1             0
## 2             1
## 3             2

Bar plot of the most 20 frequent category types seen in dataset

## ------ Plot: spupport > min_suppport
#support : Only display items which have a support of at least support.
itemFrequencyPlot(dat1, support=0.3, cex.names=0.8, topN=15, type="relative") #cex.names is font size, relative tells relative freq, support is deleting less than .3

itemFrequencyPlot(dat1, topN=15, type="relative", cex.names=0.7, 
                  main="Data Science salary 2022-2024") 

Mining rules with apriori algorithm from arules package

##
## Mining Associations with the "Apriori" Algorithm
##
ars <- dat1 %>% apriori( parameter=list(support=0.025, confidence=0.75)) #Data Pruning
## Apriori
## 
## Parameter specification:
##  confidence minval smax arem  aval originalSupport maxtime support minlen
##        0.75    0.1    1 none FALSE            TRUE       5   0.025      1
##  maxlen target  ext
##      10  rules TRUE
## 
## Algorithmic control:
##  filter tree heap memopt load sort verbose
##     0.1 TRUE TRUE  FALSE TRUE    2    TRUE
## 
## Absolute minimum support count: 15 
## 
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[25 item(s), 607 transaction(s)] done [0.00s].
## sorting and recoding items ... [22 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 5 6 7 8 done [0.00s].
## writing ... [3721 rule(s)] done [0.00s].
## creating S4 object  ... done [0.00s].
ars
## set of 3721 rules
str(ars)
## Formal class 'rules' [package "arules"] with 4 slots
##   ..@ lhs    :Formal class 'itemMatrix' [package "arules"] with 3 slots
##   .. .. ..@ data       :Formal class 'ngCMatrix' [package "Matrix"] with 5 slots
##   .. .. .. .. ..@ i       : int [1:14056] 1 1 8 25 0 0 19 19 14 14 ...
##   .. .. .. .. ..@ p       : int [1:3722] 0 0 1 2 3 4 5 6 7 8 ...
##   .. .. .. .. ..@ Dim     : int [1:2] 26 3721
##   .. .. .. .. ..@ Dimnames:List of 2
##   .. .. .. .. .. ..$ : NULL
##   .. .. .. .. .. ..$ : NULL
##   .. .. .. .. ..@ factors : list()
##   .. .. ..@ itemInfo   :'data.frame':    26 obs. of  3 variables:
##   .. .. .. ..$ labels   : chr [1:26] "experience_level=EN" "experience_level=EX" "experience_level=MI" "experience_level=SE" ...
##   .. .. .. ..$ variables: Factor w/ 8 levels "company_location",..: 5 5 5 5 4 4 4 4 6 6 ...
##   .. .. .. ..$ levels   : Factor w/ 24 levels "<90k",">120000k",..: 9 11 17 23 8 12 13 20 16 22 ...
##   .. .. ..@ itemsetInfo:'data.frame':    0 obs. of  0 variables
##   ..@ rhs    :Formal class 'itemMatrix' [package "arules"] with 3 slots
##   .. .. ..@ data       :Formal class 'ngCMatrix' [package "Matrix"] with 5 slots
##   .. .. .. .. ..@ i       : int [1:3721] 6 15 6 6 6 13 6 17 6 21 ...
##   .. .. .. .. ..@ p       : int [1:3722] 0 1 2 3 4 5 6 7 8 9 ...
##   .. .. .. .. ..@ Dim     : int [1:2] 26 3721
##   .. .. .. .. ..@ Dimnames:List of 2
##   .. .. .. .. .. ..$ : NULL
##   .. .. .. .. .. ..$ : NULL
##   .. .. .. .. ..@ factors : list()
##   .. .. ..@ itemInfo   :'data.frame':    26 obs. of  3 variables:
##   .. .. .. ..$ labels   : chr [1:26] "experience_level=EN" "experience_level=EX" "experience_level=MI" "experience_level=SE" ...
##   .. .. .. ..$ variables: Factor w/ 8 levels "company_location",..: 5 5 5 5 4 4 4 4 6 6 ...
##   .. .. .. ..$ levels   : Factor w/ 24 levels "<90k",">120000k",..: 9 11 17 23 8 12 13 20 16 22 ...
##   .. .. ..@ itemsetInfo:'data.frame':    0 obs. of  0 variables
##   ..@ quality:'data.frame':  3721 obs. of  5 variables:
##   .. ..$ support   : num [1:3721] 0.9687 0.0329 0.0412 0.0956 0.1269 ...
##   .. ..$ confidence: num [1:3721] 0.969 0.769 0.962 1 0.928 ...
##   .. ..$ coverage  : num [1:3721] 1 0.0428 0.0428 0.0956 0.1367 ...
##   .. ..$ lift      : num [1:3721] 1 2.013 0.993 1.032 0.958 ...
##   .. ..$ count     : int [1:3721] 588 20 25 58 77 70 79 76 92 91 ...
##   ..@ info   :List of 5
##   .. ..$ data         : symbol .
##   .. ..$ ntransactions: int 607
##   .. ..$ support      : num 0.025
##   .. ..$ confidence   : num 0.75
##   .. ..$ call         : chr "apriori(data = ., parameter = list(support = 0.025, confidence = 0.75))"

The top rules with respect to the support measure

inspect( head( sort (ars, by = "support"), 25) ) %>% as.data.frame()
##      lhs                               rhs                          support confidence  coverage      lift count
## [1]  {}                             => {employment_type=FT}       0.9686985  0.9686985 1.0000000 1.0000000   588
## [2]  {company_location=US_CA}       => {employment_type=FT}       0.6194399  0.9766234 0.6342669 1.0081809   376
## [3]  {remote_ratio=100}             => {employment_type=FT}       0.6095552  0.9711286 0.6276771 1.0025086   370
## [4]  {employee_residence=US_CA}     => {company_location=US_CA}   0.5930807  0.9972299 0.5947282 1.5722560   360
## [5]  {company_location=US_CA}       => {employee_residence=US_CA} 0.5930807  0.9350649 0.6342669 1.5722560   360
## [6]  {employee_residence=US_CA}     => {employment_type=FT}       0.5864909  0.9861496 0.5947282 1.0180150   356
## [7]  {employee_residence=US_CA,                                                                                 
##       company_location=US_CA}       => {employment_type=FT}       0.5848435  0.9861111 0.5930807 1.0179752   355
## [8]  {employment_type=FT,                                                                                       
##       employee_residence=US_CA}     => {company_location=US_CA}   0.5848435  0.9971910 0.5864909 1.5721947   355
## [9]  {employment_type=FT,                                                                                       
##       company_location=US_CA}       => {employee_residence=US_CA} 0.5848435  0.9441489 0.6194399 1.5875302   355
## [10] {company_size=M}               => {employment_type=FT}       0.5238880  0.9754601 0.5370675 1.0069801   318
## [11] {experience_level=SE}          => {employment_type=FT}       0.4579901  0.9928571 0.4612850 1.0249393   278
## [12] {remote_ratio=100,                                                                                         
##       company_location=US_CA}       => {employment_type=FT}       0.4563427  0.9719298 0.4695222 1.0033357   277
## [13] {employee_residence=US_CA,                                                                                 
##       remote_ratio=100}             => {company_location=US_CA}   0.4382208  0.9962547 0.4398682 1.5707184   266
## [14] {remote_ratio=100,                                                                                         
##       company_location=US_CA}       => {employee_residence=US_CA} 0.4382208  0.9333333 0.4695222 1.5693444   266
## [15] {employee_residence=US_CA,                                                                                 
##       remote_ratio=100}             => {employment_type=FT}       0.4316310  0.9812734 0.4398682 1.0129812   262
## [16] {employee_residence=US_CA,                                                                                 
##       remote_ratio=100,                                                                                         
##       company_location=US_CA}       => {employment_type=FT}       0.4299835  0.9812030 0.4382208 1.0129085   261
## [17] {employment_type=FT,                                                                                       
##       employee_residence=US_CA,                                                                                 
##       remote_ratio=100}             => {company_location=US_CA}   0.4299835  0.9961832 0.4316310 1.5706057   261
## [18] {employment_type=FT,                                                                                       
##       remote_ratio=100,                                                                                         
##       company_location=US_CA}       => {employee_residence=US_CA} 0.4299835  0.9422383 0.4563427 1.5843175   261
## [19] {salary_in_usd=<90k}           => {employment_type=FT}       0.3970346  0.9488189 0.4184514 0.9794780   241
## [20] {experience_level=SE}          => {company_location=US_CA}   0.3838550  0.8321429 0.4612850 1.3119759   233
## [21] {employee_residence=Not_US_CA} => {employment_type=FT}       0.3822076  0.9430894 0.4052718 0.9735634   232
## [22] {experience_level=SE,                                                                                      
##       company_location=US_CA}       => {employment_type=FT}       0.3805601  0.9914163 0.3838550 1.0234519   231
## [23] {experience_level=SE,                                                                                      
##       employment_type=FT}           => {company_location=US_CA}   0.3805601  0.8309353 0.4579901 1.3100719   231
## [24] {company_location=US_CA,                                                                                   
##       company_size=M}               => {employment_type=FT}       0.3805601  0.9871795 0.3855025 1.0190781   231
## [25] {salary_in_usd=>120000k}       => {employment_type=FT}       0.3789127  0.9913793 0.3822076 1.0234137   230
## data frame with 0 columns and 0 rows

The top rules with respect to the confidence measure

inspect( head( sort (ars, by = "confidence"), 15) ) %>% as.data.frame()
##      lhs                               rhs                               support confidence   coverage     lift count
## [1]  {job_title=Manager/Driector}   => {employment_type=FT}           0.09555189          1 0.09555189 1.032313    58
## [2]  {experience_level=EX,                                                                                           
##       employee_residence=US_CA}     => {company_location=US_CA}       0.02800659          1 0.02800659 1.576623    17
## [3]  {job_title=Manager/Driector,                                                                                    
##       company_size=L}               => {employment_type=FT}           0.04942339          1 0.04942339 1.032313    30
## [4]  {job_title=Manager/Driector,                                                                                    
##       company_location=Not_US_CA}   => {employment_type=FT}           0.03294893          1 0.03294893 1.032313    20
## [5]  {job_title=Manager/Driector,                                                                                    
##       salary_in_usd=>120000k}       => {employment_type=FT}           0.05766063          1 0.05766063 1.032313    35
## [6]  {job_title=Manager/Driector,                                                                                    
##       employee_residence=Not_US_CA} => {employment_type=FT}           0.03789127          1 0.03789127 1.032313    23
## [7]  {experience_level=SE,                                                                                           
##       job_title=Manager/Driector}   => {employment_type=FT}           0.05766063          1 0.05766063 1.032313    35
## [8]  {job_title=Manager/Driector,                                                                                    
##       company_size=M}               => {employment_type=FT}           0.03130148          1 0.03130148 1.032313    19
## [9]  {job_title=Manager/Driector,                                                                                    
##       employee_residence=US_CA}     => {employment_type=FT}           0.05766063          1 0.05766063 1.032313    35
## [10] {job_title=Manager/Driector,                                                                                    
##       remote_ratio=100}             => {employment_type=FT}           0.05930807          1 0.05930807 1.032313    36
## [11] {job_title=Manager/Driector,                                                                                    
##       company_location=US_CA}       => {employment_type=FT}           0.06260297          1 0.06260297 1.032313    38
## [12] {remote_ratio=0,                                                                                                
##       company_size=S}               => {employment_type=FT}           0.02635914          1 0.02635914 1.032313    16
## [13] {job_title=Analyst,                                                                                             
##       company_size=S}               => {employment_type=FT}           0.02635914          1 0.02635914 1.032313    16
## [14] {experience_level=MI,                                                                                           
##       company_size=S}               => {employment_type=FT}           0.04777595          1 0.04777595 1.032313    29
## [15] {company_location=Not_US_CA,                                                                                    
##       company_size=S}               => {employee_residence=Not_US_CA} 0.08072488          1 0.08072488 2.467480    49
## data frame with 0 columns and 0 rows

The top rules with respect to the lift measure

inspect( head( sort (ars, by = "lift"), 15)) %>% as.data.frame() %>% as.data.frame()
##      lhs                                rhs                             support confidence   coverage     lift count
## [1]  {experience_level=EN,                                                                                          
##       employee_residence=Not_US_CA,                                                                                 
##       remote_ratio=50}               => {company_location=Not_US_CA} 0.03294893          1 0.03294893 2.734234    20
## [2]  {experience_level=EN,                                                                                          
##       employee_residence=Not_US_CA,                                                                                 
##       company_size=L}                => {company_location=Not_US_CA} 0.02800659          1 0.02800659 2.734234    17
## [3]  {experience_level=EN,                                                                                          
##       job_title=Enginer,                                                                                            
##       employee_residence=Not_US_CA}  => {company_location=Not_US_CA} 0.03459638          1 0.03459638 2.734234    21
## [4]  {experience_level=EN,                                                                                          
##       employment_type=FT,                                                                                           
##       employee_residence=Not_US_CA}  => {company_location=Not_US_CA} 0.07907743          1 0.07907743 2.734234    48
## [5]  {job_title=Enginer,                                                                                            
##       employee_residence=Not_US_CA,                                                                                 
##       remote_ratio=50}               => {company_location=Not_US_CA} 0.04283361          1 0.04283361 2.734234    26
## [6]  {employee_residence=Not_US_CA,                                                                                 
##       remote_ratio=50,                                                                                              
##       company_size=M}                => {company_location=Not_US_CA} 0.03130148          1 0.03130148 2.734234    19
## [7]  {salary_in_usd=<90k,                                                                                           
##       remote_ratio=50,                                                                                              
##       company_size=M}                => {company_location=Not_US_CA} 0.02635914          1 0.02635914 2.734234    16
## [8]  {job_title=Scientist,                                                                                          
##       employee_residence=Not_US_CA,                                                                                 
##       remote_ratio=0}                => {company_location=Not_US_CA} 0.03953871          1 0.03953871 2.734234    24
## [9]  {employee_residence=Not_US_CA,                                                                                 
##       remote_ratio=0,                                                                                               
##       company_size=M}                => {company_location=Not_US_CA} 0.04942339          1 0.04942339 2.734234    30
## [10] {experience_level=EN,                                                                                          
##       salary_in_usd=<90k,                                                                                           
##       employee_residence=Not_US_CA,                                                                                 
##       remote_ratio=50}               => {company_location=Not_US_CA} 0.02965404          1 0.02965404 2.734234    18
## [11] {experience_level=EN,                                                                                          
##       employment_type=FT,                                                                                           
##       employee_residence=Not_US_CA,                                                                                 
##       remote_ratio=50}               => {company_location=Not_US_CA} 0.02635914          1 0.02635914 2.734234    16
## [12] {experience_level=EN,                                                                                          
##       employment_type=FT,                                                                                           
##       job_title=Scientist,                                                                                          
##       employee_residence=Not_US_CA}  => {company_location=Not_US_CA} 0.03130148          1 0.03130148 2.734234    19
## [13] {experience_level=EN,                                                                                          
##       employment_type=FT,                                                                                           
##       employee_residence=Not_US_CA,                                                                                 
##       company_size=L}                => {company_location=Not_US_CA} 0.02800659          1 0.02800659 2.734234    17
## [14] {experience_level=EN,                                                                                          
##       job_title=Enginer,                                                                                            
##       salary_in_usd=<90k,                                                                                           
##       employee_residence=Not_US_CA}  => {company_location=Not_US_CA} 0.03294893          1 0.03294893 2.734234    20
## [15] {experience_level=EN,                                                                                          
##       employment_type=FT,                                                                                           
##       job_title=Enginer,                                                                                            
##       employee_residence=Not_US_CA}  => {company_location=Not_US_CA} 0.03130148          1 0.03130148 2.734234    19
## data frame with 0 columns and 0 rows

Mining other associassion rules

#inspect(head(  subset(ars, subset=rhs %in% "salary_in_usd=>60k"), by = "lift", 20))

#inspect(head(  subset(ars, subset=rhs %in% "company_location=US_CA"), by = "lift"))
#inspect(head(  subset(ars, subset=rhs %in% "company_location=Not_US_CA"), by = "lift"))

#inspect(head(  subset(ars, subset=rhs %in% "experience_level=MI"), by = "lift"))
#inspect(head(  subset(ars, subset=rhs %in% "experience_level=SE"), by = "lift"))

# inspect(head(  subset(ars, subset=rhs %in% "employment_type=FT"), by = "lift"))
# 
# inspect(head(  subset(ars, subset=rhs %in% "remote_ratio=100"), by = "lift"))
# inspect(head(  subset(ars, subset=rhs %in% "remote_ratio=50"), by = "lift"))
# inspect(head(  subset(ars, subset=rhs %in% "remote_ratio=0"), by = "lift"))
# 
# inspect(head(  subset(ars, subset=rhs %in% "company_size=L"), by = "lift"))
# inspect(head(  subset(ars, subset=rhs %in% "company_size=M"), by = "lift"))
# inspect(head(  subset(ars, subset=rhs %in% "company_size=S"), by = "lift"))

inspect(head(  subset(ars, subset=rhs %in% "salary_in_usd=>120000k"), by = "lift", 25))
##      lhs                            rhs                         support confidence   coverage     lift count
## [1]  {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_size=M}            => {salary_in_usd=>120000k} 0.05107084  0.9393939 0.05436573 2.457811    31
## [2]  {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05107084  0.9393939 0.05436573 2.457811    31
## [3]  {experience_level=SE,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_size=L}            => {salary_in_usd=>120000k} 0.04612850  0.9333333 0.04942339 2.441954    28
## [4]  {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_size=L}            => {salary_in_usd=>120000k} 0.04612850  0.9333333 0.04942339 2.441954    28
## [5]  {experience_level=SE,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=L}            => {salary_in_usd=>120000k} 0.04448105  0.9310345 0.04777595 2.435939    27
## [6]  {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=L}            => {salary_in_usd=>120000k} 0.04448105  0.9310345 0.04777595 2.435939    27
## [7]  {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       remote_ratio=100,                                                                                     
##       company_size=M}            => {salary_in_usd=>120000k} 0.05601318  0.9189189 0.06095552 2.404240    34
## [8]  {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_size=M}            => {salary_in_usd=>120000k} 0.05107084  0.9117647 0.05601318 2.385522    31
## [9]  {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05107084  0.9117647 0.05601318 2.385522    31
## [10] {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05107084  0.9117647 0.05601318 2.385522    31
## [11] {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100}          => {salary_in_usd=>120000k} 0.06425041  0.9069767 0.07084020 2.372995    39
## [12] {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_location=US_CA}    => {salary_in_usd=>120000k} 0.06425041  0.9069767 0.07084020 2.372995    39
## [13] {experience_level=SE,                                                                                  
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=L}            => {salary_in_usd=>120000k} 0.04448105  0.9000000 0.04942339 2.354741    27
## [14] {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=L}            => {salary_in_usd=>120000k} 0.04448105  0.9000000 0.04942339 2.354741    27
## [15] {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       company_size=M}            => {salary_in_usd=>120000k} 0.05766063  0.8974359 0.06425041 2.348033    35
## [16] {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05766063  0.8974359 0.06425041 2.348033    35
## [17] {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       remote_ratio=100,                                                                                     
##       company_size=M}            => {salary_in_usd=>120000k} 0.05601318  0.8947368 0.06260297 2.340971    34
## [18] {experience_level=EX,                                                                                  
##       company_location=US_CA}    => {salary_in_usd=>120000k} 0.02635914  0.8888889 0.02965404 2.325670    16
## [19] {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100}          => {salary_in_usd=>120000k} 0.06425041  0.8863636 0.07248764 2.319063    39
## [20] {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       remote_ratio=100,                                                                                     
##       company_location=US_CA}    => {salary_in_usd=>120000k} 0.06425041  0.8863636 0.07248764 2.319063    39
## [21] {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       remote_ratio=100,                                                                                     
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05107084  0.8857143 0.05766063 2.317365    31
## [22] {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       company_size=M}            => {salary_in_usd=>120000k} 0.05766063  0.8750000 0.06589786 2.289332    35
## [23] {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       employee_residence=US_CA,                                                                             
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05766063  0.8750000 0.06589786 2.289332    35
## [24] {experience_level=SE,                                                                                  
##       employment_type=FT,                                                                                   
##       job_title=Scientist,                                                                                  
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05766063  0.8750000 0.06589786 2.289332    35
## [25] {experience_level=SE,                                                                                  
##       job_title=Scientist,                                                                                  
##       company_location=US_CA,                                                                               
##       company_size=M}            => {salary_in_usd=>120000k} 0.05766063  0.8536585 0.06754530 2.233495    35

Scatter plot of measures

There are many rules that, it is not easy to check manually. Following plots provide visualization of all rules by support, confidence and lift measures.

##
## Package: arulesViz
##
library(arulesViz)
head(quality(ars))
##      support confidence   coverage      lift count
## 1 0.96869852  0.9686985 1.00000000 1.0000000   588
## 2 0.03294893  0.7692308 0.04283361 2.0125995    20
## 3 0.04118616  0.9615385 0.04283361 0.9926086    25
## 4 0.09555189  1.0000000 0.09555189 1.0323129    58
## 5 0.12685338  0.9277108 0.13673806 0.9576879    77
## 6 0.11532125  0.7954545 0.14497529 1.9009485    70
plot(ars)
## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter.

# Customize scatter plot

plot(ars, measure = c("support", "lift"), 
     shading = "confidence")
## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter.

Two-key plot by Hofmann and Bernet (2001):

Support in x-axis, confidence in y-axis and color by order, where order is the number items contained in the rule. Here support and order has inverse relationship, which is known fact for associassion rule.

# Order is the number of items contained in the rule
# plot(ars,
#      shading = "experience_level",
#      control = list(main = "Two-key plot") )
plot(ars, method= "two-key plot")
## To reduce overplotting, jitter is added! Use jitter = 0 to prevent jitter.

Matrix-based visualizations

It organize the antecedent (LHS rules) and consequent (RHS rules) on the x- and y-axis and numerical measure (eg. lift) will be plotted line. If no rule is available will be blank.

## Matrix 2D plot of rules (color bar), Ong, leong ong, Ng and Lim (2002)   
somerules <- subset(ars,
                    subset=rhs %in% c("salary_in_usd=>120000k", "remote_ratio=100") & confidence>0.75)
#head(somerules)
plot(somerules, method="matrix", measure="lift")
## Itemsets in Antecedent (LHS)
##   [1] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                 
##   [2] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"          
##   [3] "{experience_level=SE,employee_residence=US_CA,remote_ratio=100,company_size=L}"                                                                        
##   [4] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,remote_ratio=100,company_size=L}"                                                     
##   [5] "{experience_level=SE,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=L}"                                                 
##   [6] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=L}"                              
##   [7] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100,company_size=M}"                                                          
##   [8] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                                    
##   [9] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                             
##  [10] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100,company_location=US_CA,company_size=M}"                                   
##  [11] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100}"                                                
##  [12] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                         
##  [13] "{experience_level=SE,remote_ratio=100,company_location=US_CA,company_size=L}"                                                                          
##  [14] "{experience_level=SE,employment_type=FT,remote_ratio=100,company_location=US_CA,company_size=L}"                                                       
##  [15] "{experience_level=SE,job_title=Scientist,remote_ratio=100,company_size=M}"                                                                             
##  [16] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100}"                                                                   
##  [17] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                                            
##  [18] "{experience_level=SE,job_title=Scientist,remote_ratio=100,company_location=US_CA,company_size=M}"                                                      
##  [19] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100,company_location=US_CA}"                                                  
##  [20] "{experience_level=SE,employee_residence=US_CA,company_size=L}"                                                                                         
##  [21] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,company_size=L}"                                                                      
##  [22] "{job_title=Manager/Driector,employee_residence=US_CA,company_size=L}"                                                                                  
##  [23] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,company_size=L}"                                                               
##  [24] "{experience_level=SE,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                                                            
##  [25] "{experience_level=SE,job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                                              
##  [26] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                                         
##  [27] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                           
##  [28] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100}"                                                                         
##  [29] "{experience_level=SE,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                                                  
##  [30] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                               
##  [31] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA}"                                                                 
##  [32] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA}"                                          
##  [33] "{experience_level=SE,job_title=Scientist,remote_ratio=100,company_location=US_CA}"                                                                     
##  [34] "{experience_level=SE,job_title=Scientist,remote_ratio=100}"                                                                                            
##  [35] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA}"                                                                                    
##  [36] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_location=US_CA}"                                                             
##  [37] "{job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                                                                                
##  [38] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                                                             
##  [39] "{experience_level=SE,company_location=US_CA,company_size=L}"                                                                                           
##  [40] "{job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                                                         
##  [41] "{experience_level=SE,employment_type=FT,company_location=US_CA,company_size=L}"                                                                        
##  [42] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                                      
##  [43] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_size=L}"                                                                     
##  [44] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                              
##  [45] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_size=L}"                                                  
##  [46] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                                     
##  [47] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=L}"                           
##  [48] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                              
##  [49] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_location=US_CA}"                                                                   
##  [50] "{job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                                                                  
##  [51] "{employment_type=FT,job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                                               
##  [52] "{experience_level=SE,job_title=Scientist,company_location=US_CA}"                                                                                      
##  [53] "{experience_level=SE,employment_type=FT,job_title=Enginer,company_location=US_CA}"                                                                     
##  [54] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA}"                                                                                      
##  [55] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,company_location=US_CA}"                                                               
##  [56] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA}"                                                                   
##  [57] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_location=US_CA}"                                            
##  [58] "{experience_level=EX}"                                                                                                                                 
##  [59] "{experience_level=SE,job_title=Manager/Driector,company_location=US_CA}"                                                                               
##  [60] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,company_location=US_CA}"                                                            
##  [61] "{experience_level=SE,employment_type=FT,job_title=Enginer,remote_ratio=100,company_location=US_CA}"                                                    
##  [62] "{experience_level=SE,job_title=Enginer,company_location=US_CA}"                                                                                        
##  [63] "{job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                                                        
##  [64] "{job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                                                 
##  [65] "{employment_type=FT,job_title=Scientist,remote_ratio=100,company_location=US_CA,company_size=M}"                                                       
##  [66] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,remote_ratio=100}"                                                                     
##  [67] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                                              
##  [68] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100}"                                                  
##  [69] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                           
##  [70] "{experience_level=SE,job_title=Scientist,company_location=US_CA,company_size=L}"                                                                       
##  [71] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_location=US_CA,company_size=L}"                                                    
##  [72] "{experience_level=EX,employment_type=FT}"                                                                                                              
##  [73] "{job_title=Enginer,remote_ratio=100,company_location=US_CA,company_size=M}"                                                                            
##  [74] "{employment_type=FT,job_title=Enginer,remote_ratio=100,company_location=US_CA,company_size=M}"                                                         
##  [75] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,company_size=M}"                                                                       
##  [76] "{experience_level=SE,job_title=Enginer,company_location=US_CA,company_size=M}"                                                                         
##  [77] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                
##  [78] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_size=M}"                                                    
##  [79] "{experience_level=SE,employment_type=FT,job_title=Enginer,company_location=US_CA,company_size=M}"                                                      
##  [80] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_location=US_CA,company_size=M}"                             
##  [81] "{job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                                                          
##  [82] "{job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                                                   
##  [83] "{employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                                       
##  [84] "{employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                                
##  [85] "{experience_level=SE,job_title=Enginer,remote_ratio=100,company_location=US_CA}"                                                                       
##  [86] "{experience_level=EX,company_location=US_CA}"                                                                                                          
##  [87] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_size=M}"                                                  
##  [88] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=M}"                           
##  [89] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_size=M}"                                                                     
##  [90] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                              
##  [91] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_location=US_CA,company_size=M}"                                                    
##  [92] "{experience_level=SE,job_title=Scientist,company_location=US_CA,company_size=M}"                                                                       
##  [93] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_size=M}"                                                                           
##  [94] "{experience_level=SE,job_title=Scientist,company_size=M}"                                                                                              
##  [95] "{experience_level=SE,job_title=Manager/Driector,employee_residence=US_CA}"                                                                             
##  [96] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA}"                                                          
##  [97] "{experience_level=SE,job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                                                      
##  [98] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                                   
##  [99] "{job_title=Manager/Driector,employee_residence=US_CA}"                                                                                                 
## [100] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA}"                                                                              
## [101] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_size=M}"                                                                      
## [102] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                               
## [103] "{job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                                                                          
## [104] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                                                       
## [105] "{job_title=Analyst,salary_in_usd=>120000k}"                                                                                                            
## [106] "{job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA}"                                                                                     
## [107] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k}"                                                                                         
## [108] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA}"                                                                  
## [109] "{job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA}"                                                                                   
## [110] "{job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                                            
## [111] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA}"                                                                
## [112] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k,company_size=M}"                                                                       
## [113] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                         
## [114] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,company_size=M}"                                                    
## [115] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k}"                                                                                        
## [116] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA}"                                                               
## [117] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA}"                                                                 
## [118] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k}"                                                                     
## [119] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                        
## [120] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA}"                                            
## [121] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA}"                                              
## [122] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                     
## [123] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                              
## [124] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                
## [125] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                       
## [126] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                           
## [127] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                             
## [128] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"    
## [129] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k,company_size=M}"                                                                         
## [130] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                                
## [131] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                  
## [132] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,company_size=M}"                                                      
## [133] "{experience_level=SE,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                         
## [134] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                             
## [135] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                               
## [136] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"      
## [137] "{job_title=Analyst,salary_in_usd=>120000k,company_size=M}"                                                                                             
## [138] "{job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                                                    
## [139] "{job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                                      
## [140] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,company_size=M}"                                                                          
## [141] "{job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                             
## [142] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                                 
## [143] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                   
## [144] "{employment_type=FT,job_title=Analyst,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                          
## [145] "{experience_level=SE,job_title=Analyst,company_location=US_CA}"                                                                                        
## [146] "{experience_level=SE,employment_type=FT,job_title=Analyst,company_location=US_CA}"                                                                     
## [147] "{experience_level=SE,job_title=Analyst,employee_residence=US_CA}"                                                                                      
## [148] "{experience_level=SE,job_title=Analyst,employee_residence=US_CA,company_location=US_CA}"                                                               
## [149] "{experience_level=SE,employment_type=FT,job_title=Analyst,employee_residence=US_CA}"                                                                   
## [150] "{experience_level=SE,employment_type=FT,job_title=Analyst,employee_residence=US_CA,company_location=US_CA}"                                            
## [151] "{experience_level=SE,job_title=Analyst,company_size=M}"                                                                                                
## [152] "{experience_level=SE,job_title=Analyst,employee_residence=US_CA,company_size=M}"                                                                       
## [153] "{experience_level=SE,job_title=Analyst,company_location=US_CA,company_size=M}"                                                                         
## [154] "{experience_level=SE,employment_type=FT,job_title=Analyst,company_size=M}"                                                                             
## [155] "{experience_level=SE,job_title=Analyst,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                
## [156] "{experience_level=SE,employment_type=FT,job_title=Analyst,employee_residence=US_CA,company_size=M}"                                                    
## [157] "{experience_level=SE,employment_type=FT,job_title=Analyst,company_location=US_CA,company_size=M}"                                                      
## [158] "{experience_level=SE,employment_type=FT,job_title=Analyst,employee_residence=US_CA,company_location=US_CA,company_size=M}"                             
## [159] "{experience_level=MI,salary_in_usd=>120000k,company_location=US_CA,company_size=L}"                                                                    
## [160] "{job_title=Manager/Driector,company_size=M}"                                                                                                           
## [161] "{employment_type=FT,job_title=Manager/Driector,company_size=M}"                                                                                        
## [162] "{experience_level=SE,job_title=Manager/Driector,salary_in_usd=>120000k,employee_residence=US_CA}"                                                      
## [163] "{experience_level=MI,salary_in_usd=>120000k,employee_residence=US_CA,company_size=L}"                                                                  
## [164] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,salary_in_usd=>120000k,employee_residence=US_CA}"                                   
## [165] "{experience_level=MI,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                           
## [166] "{experience_level=MI,employment_type=FT,salary_in_usd=>120000k,company_location=US_CA,company_size=L}"                                                 
## [167] "{experience_level=SE,salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                                                              
## [168] "{experience_level=SE,job_title=Analyst}"                                                                                                               
## [169] "{experience_level=SE,employment_type=FT,job_title=Analyst}"                                                                                            
## [170] "{experience_level=SE,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_size=M}"                                                            
## [171] "{experience_level=SE,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                     
## [172] "{experience_level=SE,employment_type=FT,salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                                           
## [173] "{experience_level=SE,salary_in_usd=>120000k,company_size=M}"                                                                                           
## [174] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k,company_size=M}"                                                                        
## [175] "{experience_level=SE,employment_type=FT,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_size=M}"                                         
## [176] "{experience_level=SE,employment_type=FT,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                  
## [177] "{experience_level=SE,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                                    
## [178] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                 
## [179] "{experience_level=SE,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                                                  
## [180] "{experience_level=SE,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                           
## [181] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                               
## [182] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                        
## [183] "{experience_level=SE,company_location=US_CA,company_size=M}"                                                                                           
## [184] "{experience_level=SE,employment_type=FT,company_location=US_CA,company_size=M}"                                                                        
## [185] "{experience_level=SE,employee_residence=US_CA,company_size=M}"                                                                                         
## [186] "{experience_level=SE,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                                  
## [187] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,company_size=M}"                                                                      
## [188] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                               
## [189] "{job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                                                  
## [190] "{job_title=Scientist,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                                    
## [191] "{job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                           
## [192] "{employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                               
## [193] "{employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                 
## [194] "{employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                        
## [195] "{job_title=Manager/Driector,salary_in_usd=>120000k,employee_residence=US_CA}"                                                                          
## [196] "{employment_type=FT,job_title=Manager/Driector,salary_in_usd=>120000k,employee_residence=US_CA}"                                                       
## [197] "{salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                                                        
## [198] "{employment_type=FT,salary_in_usd=>120000k,company_location=US_CA,company_size=M}"                                                                     
## [199] "{job_title=Scientist,salary_in_usd=>120000k,company_size=M}"                                                                                           
## [200] "{employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,company_size=M}"                                                                        
## [201] "{salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                                                                      
## [202] "{salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                               
## [203] "{employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA,company_size=M}"                                                                   
## [204] "{employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                            
## [205] "{experience_level=MI,salary_in_usd=>120000k,company_size=L}"                                                                                           
## [206] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k}"                                                                                  
## [207] "{job_title=Manager/Driector,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                                   
## [208] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k,company_size=M}"                                                                   
## [209] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA}"                                                         
## [210] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA}"                                                           
## [211] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k}"                                                               
## [212] "{employment_type=FT,job_title=Manager/Driector,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                
## [213] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_size=M}"                                          
## [214] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                                            
## [215] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,company_size=M}"                                                
## [216] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA}"                                  
## [217] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA}"                                      
## [218] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA}"                                        
## [219] "{experience_level=SE,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                   
## [220] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_size=M}"                       
## [221] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                         
## [222] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA}"               
## [223] "{experience_level=SE,employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"
## [224] "{salary_in_usd=>120000k,company_size=M}"                                                                                                               
## [225] "{employment_type=FT,salary_in_usd=>120000k,company_size=M}"                                                                                            
## [226] "{job_title=Enginer,salary_in_usd=90000k-120000k,company_location=US_CA}"                                                                               
## [227] "{job_title=Analyst,employee_residence=US_CA,company_size=M}"                                                                                           
## [228] "{job_title=Analyst,company_location=US_CA,company_size=M}"                                                                                             
## [229] "{experience_level=SE,job_title=Manager/Driector,salary_in_usd=>120000k,company_location=US_CA}"                                                        
## [230] "{employment_type=FT,job_title=Enginer,salary_in_usd=90000k-120000k,company_location=US_CA}"                                                            
## [231] "{job_title=Analyst,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                                    
## [232] "{employment_type=FT,job_title=Analyst,employee_residence=US_CA,company_size=M}"                                                                        
## [233] "{employment_type=FT,job_title=Analyst,company_location=US_CA,company_size=M}"                                                                          
## [234] "{experience_level=MI,employment_type=FT,salary_in_usd=>120000k,company_size=L}"                                                                        
## [235] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,salary_in_usd=>120000k,company_location=US_CA}"                                     
## [236] "{employment_type=FT,job_title=Analyst,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                 
## [237] "{job_title=Scientist,company_location=US_CA,company_size=M}"                                                                                           
## [238] "{job_title=Enginer,salary_in_usd=90000k-120000k,employee_residence=US_CA}"                                                                             
## [239] "{experience_level=SE,salary_in_usd=90000k-120000k,company_size=M}"                                                                                     
## [240] "{job_title=Enginer,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA}"                                                      
## [241] "{employment_type=FT,job_title=Enginer,salary_in_usd=90000k-120000k,employee_residence=US_CA}"                                                          
## [242] "{employment_type=FT,job_title=Enginer,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA}"                                   
## [243] "{experience_level=SE,company_size=M}"                                                                                                                  
## [244] "{experience_level=SE,employment_type=FT,company_size=M}"                                                                                               
## [245] "{experience_level=SE,employment_type=FT,salary_in_usd=90000k-120000k,company_size=M}"                                                                  
## [246] "{job_title=Manager/Driector,salary_in_usd=>120000k,company_location=US_CA}"                                                                            
## [247] "{employment_type=FT,job_title=Manager/Driector,salary_in_usd=>120000k,company_location=US_CA}"                                                         
## [248] "{job_title=Scientist,employee_residence=US_CA,company_size=M}"                                                                                         
## [249] "{job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                                  
## [250] "{employment_type=FT,job_title=Scientist,company_location=US_CA,company_size=M}"                                                                        
## [251] "{job_title=Analyst,employee_residence=US_CA}"                                                                                                          
## [252] "{job_title=Analyst,employee_residence=US_CA,company_location=US_CA}"                                                                                   
## [253] "{job_title=Scientist,salary_in_usd=<90k,company_location=US_CA}"                                                                                       
## [254] "{company_location=US_CA,company_size=M}"                                                                                                               
## [255] "{experience_level=SE,salary_in_usd=>120000k,employee_residence=US_CA}"                                                                                 
## [256] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA}"                                                              
## [257] "{job_title=Enginer,employee_residence=US_CA,company_size=L}"                                                                                           
## [258] "{job_title=Enginer,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                                                    
## [259] "{employment_type=FT,job_title=Analyst,employee_residence=US_CA}"                                                                                       
## [260] "{employment_type=FT,job_title=Analyst,employee_residence=US_CA,company_location=US_CA}"                                                                
## [261] "{experience_level=SE,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                                          
## [262] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                       
## [263] "{job_title=Analyst,company_location=US_CA}"                                                                                                            
## [264] "{employment_type=FT,company_location=US_CA,company_size=M}"                                                                                            
## [265] "{salary_in_usd=>120000k,company_location=US_CA}"                                                                                                       
## [266] "{experience_level=SE,salary_in_usd=>120000k,company_location=US_CA}"                                                                                   
## [267] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k,company_location=US_CA}"                                                                
## [268] "{salary_in_usd=>120000k,employee_residence=US_CA}"                                                                                                     
## [269] "{job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA}"                                                                             
## [270] "{job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA}"                                                                               
## [271] "{employment_type=FT,job_title=Analyst,company_location=US_CA}"                                                                                         
## [272] "{job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA}"                                                      
## [273] "{salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                                                              
## [274] "{employment_type=FT,salary_in_usd=>120000k,company_location=US_CA}"                                                                                    
## [275] "{employee_residence=US_CA,company_size=M}"                                                                                                             
## [276] "{employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                                                      
## [277] "{employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA}"                                                                                  
## [278] "{employment_type=FT,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                                           
## [279] "{employment_type=FT,employee_residence=US_CA,company_size=M}"                                                                                          
## [280] "{employment_type=FT,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                                   
## [281] "{job_title=Analyst,salary_in_usd=90000k-120000k,company_size=M}"                                                                                       
## [282] "{job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_size=M}"                                                              
## [283] "{job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                                                                
## [284] "{employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,company_size=M}"                                                                    
## [285] "{employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_size=L}"                                                                        
## [286] "{job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                       
## [287] "{employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_size=M}"                                           
## [288] "{employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                                             
## [289] "{employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                                 
## [290] "{employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                    
## [291] "{employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA}"                                                          
## [292] "{employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,company_location=US_CA}"                                                            
## [293] "{employment_type=FT,job_title=Analyst,salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA}"                                   
## [294] "{experience_level=SE,salary_in_usd=>120000k}"                                                                                                          
## [295] "{experience_level=SE,employment_type=FT,salary_in_usd=>120000k}"                                                                                       
## [296] "{experience_level=SE,employee_residence=US_CA}"                                                                                                        
## [297] "{experience_level=SE,company_location=US_CA}"                                                                                                          
## [298] "{experience_level=SE,employee_residence=US_CA,company_location=US_CA}"                                                                                 
## [299] "{experience_level=SE,employment_type=FT,employee_residence=US_CA}"                                                                                     
## [300] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,company_location=US_CA}"                                                              
## [301] "{experience_level=SE,employment_type=FT,company_location=US_CA}"                                                                                       
## [302] "{company_location=US_CA,company_size=S}"                                                                                                               
## [303] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA}"                                                             
## [304] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k,company_location=US_CA}"                                                               
## [305] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                                      
## [306] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA}"                                          
## [307] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,company_location=US_CA}"                                            
## [308] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k,employee_residence=US_CA,company_location=US_CA}"                   
## [309] "{experience_level=SE,job_title=Scientist,salary_in_usd=>120000k}"                                                                                      
## [310] "{experience_level=SE,employment_type=FT,job_title=Scientist,salary_in_usd=>120000k}"                                                                   
## [311] "{employment_type=FT,job_title=Analyst,company_size=M}"                                                                                                 
## [312] "{experience_level=MI,salary_in_usd=>120000k,company_location=US_CA}"                                                                                   
## [313] "{salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                                                                                  
## [314] "{experience_level=EN,salary_in_usd=<90k,company_location=US_CA}"                                                                                       
## [315] "{job_title=Analyst,company_location=US_CA,company_size=L}"                                                                                             
## [316] "{employment_type=FT,employee_residence=Not_US_CA,company_location=US_CA}"                                                                              
## [317] "{experience_level=SE,salary_in_usd=<90k,company_location=US_CA}"                                                                                       
## [318] "{employment_type=FT,job_title=Scientist,salary_in_usd=<90k,company_location=US_CA}"                                                                    
## [319] "{employee_residence=Not_US_CA,company_location=US_CA}"                                                                                                 
## [320] "{salary_in_usd=90000k-120000k,employee_residence=US_CA,company_size=M}"                                                                                
## [321] "{salary_in_usd=90000k-120000k,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                                         
## [322] "{job_title=Analyst,salary_in_usd=90000k-120000k}"                                                                                                      
## [323] "{experience_level=MI,employment_type=FT,salary_in_usd=>120000k,company_location=US_CA}"                                                                
## [324] "{job_title=Enginer,salary_in_usd=>120000k,company_location=US_CA}"                                                                                     
## [325] "{experience_level=MI,employee_residence=US_CA,company_size=L}"                                                                                         
## [326] "{experience_level=MI,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                                                  
## [327] "{employment_type=FT,salary_in_usd=90000k-120000k,company_location=US_CA,company_size=M}"                                                               
## [328] "{salary_in_usd=>120000k}"                                                                                                                              
## [329] "{employment_type=FT,job_title=Enginer,salary_in_usd=>120000k,company_location=US_CA}"                                                                  
## [330] "{employment_type=FT,salary_in_usd=>120000k}"                                                                                                           
## Itemsets in Consequent (RHS)
## [1] "{remote_ratio=100}"       "{salary_in_usd=>120000k}"

somerules <- subset(ars,
                    subset=rhs %in% c("salary_in_usd=>120000k", "company_location=Not_US_CA") & confidence>0.70)
plot(somerules, method="matrix", measure="lift")
## Itemsets in Antecedent (LHS)
##   [1] "{experience_level=EN,employee_residence=Not_US_CA,remote_ratio=50}"                                                                          
##   [2] "{experience_level=EN,employee_residence=Not_US_CA,company_size=L}"                                                                           
##   [3] "{experience_level=EN,job_title=Enginer,employee_residence=Not_US_CA}"                                                                        
##   [4] "{experience_level=EN,employment_type=FT,employee_residence=Not_US_CA}"                                                                       
##   [5] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=50}"                                                                            
##   [6] "{employee_residence=Not_US_CA,remote_ratio=50,company_size=M}"                                                                               
##   [7] "{salary_in_usd=<90k,remote_ratio=50,company_size=M}"                                                                                         
##   [8] "{job_title=Scientist,employee_residence=Not_US_CA,remote_ratio=0}"                                                                           
##   [9] "{employee_residence=Not_US_CA,remote_ratio=0,company_size=M}"                                                                                
##  [10] "{experience_level=EN,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                                       
##  [11] "{experience_level=EN,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=50}"                                                       
##  [12] "{experience_level=EN,employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA}"                                                   
##  [13] "{experience_level=EN,employment_type=FT,employee_residence=Not_US_CA,company_size=L}"                                                        
##  [14] "{experience_level=EN,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                     
##  [15] "{experience_level=EN,employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA}"                                                     
##  [16] "{experience_level=EN,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                    
##  [17] "{experience_level=EN,employment_type=FT,employee_residence=Not_US_CA,company_size=M}"                                                        
##  [18] "{experience_level=EN,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100}"                                                      
##  [19] "{job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                                         
##  [20] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=50}"                                                         
##  [21] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50,company_size=M}"                                                            
##  [22] "{employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA,remote_ratio=0}"                                                        
##  [23] "{experience_level=MI,employee_residence=Not_US_CA,remote_ratio=0,company_size=M}"                                                            
##  [24] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=0,company_size=M}"                                                             
##  [25] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=0,company_size=M}"                                                             
##  [26] "{job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                                          
##  [27] "{experience_level=EN,employment_type=FT,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                
##  [28] "{experience_level=EN,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                  
##  [29] "{experience_level=EN,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                     
##  [30] "{experience_level=EN,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                   
##  [31] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                      
##  [32] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=0,company_size=M}"                                         
##  [33] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=0,company_size=M}"                                          
##  [34] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                      
##  [35] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                    
##  [36] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,remote_ratio=100,company_size=M}"                                                  
##  [37] "{experience_level=SE,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                  
##  [38] "{job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                         
##  [39] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                       
##  [40] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                     
##  [41] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                     
##  [42] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                   
##  [43] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                 
##  [44] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,remote_ratio=100,company_size=M}"                               
##  [45] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                      
##  [46] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"  
##  [47] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                      
##  [48] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=0}"                                                                            
##  [49] "{job_title=Enginer,employee_residence=Not_US_CA,company_size=M}"                                                                             
##  [50] "{job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                                        
##  [51] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,company_size=M}"                                                          
##  [52] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                  
##  [53] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=0}"                                                         
##  [54] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                                         
##  [55] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=0}"                                                        
##  [56] "{experience_level=MI,job_title=Enginer,employee_residence=Not_US_CA,company_size=M}"                                                         
##  [57] "{experience_level=MI,employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,company_size=M}"                                      
##  [58] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,company_size=L}"                                                          
##  [59] "{job_title=Scientist,employee_residence=Not_US_CA,remote_ratio=50}"                                                                          
##  [60] "{job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                         
##  [61] "{experience_level=EN,employee_residence=Not_US_CA}"                                                                                          
##  [62] "{employee_residence=Not_US_CA,remote_ratio=0}"                                                                                               
##  [63] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                                            
##  [64] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                       
##  [65] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                         
##  [66] "{employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA,remote_ratio=50}"                                                       
##  [67] "{experience_level=EN,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                       
##  [68] "{salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                                                            
##  [69] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,remote_ratio=100}"                                                                 
##  [70] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA}"                                                                         
##  [71] "{job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                                       
##  [72] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=0}"                                     
##  [73] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,remote_ratio=100}"                                              
##  [74] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                     
##  [75] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                                        
##  [76] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA}"                                                     
##  [77] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                     
##  [78] "{employment_type=FT,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                    
##  [79] "{experience_level=EN,employee_residence=Not_US_CA,company_size=M}"                                                                           
##  [80] "{experience_level=MI,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                        
##  [81] "{experience_level=MI,employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                     
##  [82] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                                                           
##  [83] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=0}"                                                                            
##  [84] "{experience_level=EN,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                                        
##  [85] "{experience_level=MI,employee_residence=Not_US_CA,company_size=M}"                                                                           
##  [86] "{employee_residence=Not_US_CA,remote_ratio=50}"                                                                                              
##  [87] "{experience_level=MI,job_title=Analyst,employee_residence=Not_US_CA}"                                                                        
##  [88] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=0}"                                                          
##  [89] "{experience_level=MI,job_title=Analyst,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                     
##  [90] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,company_size=M}"                                                        
##  [91] "{employment_type=FT,employee_residence=Not_US_CA,company_size=M}"                                                                            
##  [92] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                                        
##  [93] "{experience_level=EN,employee_residence=Not_US_CA,company_size=S}"                                                                           
##  [94] "{experience_level=MI,employment_type=FT,job_title=Analyst,employee_residence=Not_US_CA}"                                                     
##  [95] "{experience_level=MI,employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA}"                                                     
##  [96] "{experience_level=SE,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                     
##  [97] "{experience_level=MI,employment_type=FT,job_title=Analyst,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                  
##  [98] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                        
##  [99] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100}"                                                        
## [100] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=50}"                                                                           
## [101] "{job_title=Enginer,employee_residence=Not_US_CA}"                                                                                            
## [102] "{experience_level=MI,employee_residence=Not_US_CA,remote_ratio=50}"                                                                          
## [103] "{job_title=Analyst,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                         
## [104] "{job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=S}"                                                          
## [105] "{employment_type=FT,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                     
## [106] "{experience_level=MI,employee_residence=Not_US_CA,remote_ratio=0}"                                                                           
## [107] "{job_title=Enginer,employee_residence=Not_US_CA,company_size=L}"                                                                             
## [108] "{employee_residence=Not_US_CA,company_size=M}"                                                                                               
## [109] "{salary_in_usd=90000k-120000k,employee_residence=Not_US_CA}"                                                                                 
## [110] "{employment_type=FT,job_title=Analyst,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                      
## [111] "{employment_type=FT,salary_in_usd=90000k-120000k,employee_residence=Not_US_CA}"                                                              
## [112] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=50}"                                                       
## [113] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                                       
## [114] "{job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                                          
## [115] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=L}"                                                           
## [116] "{experience_level=MI,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100}"                                                       
## [117] "{experience_level=MI,job_title=Enginer,employee_residence=Not_US_CA}"                                                                        
## [118] "{employee_residence=Not_US_CA,remote_ratio=50,company_size=L}"                                                                               
## [119] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100}"                                                                           
## [120] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=L}"                                        
## [121] "{experience_level=MI,employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100}"                                    
## [122] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                       
## [123] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                    
## [124] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                        
## [125] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=50,company_size=L}"                                                            
## [126] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50}"                                    
## [127] "{experience_level=EN,employee_residence=Not_US_CA,remote_ratio=100}"                                                                         
## [128] "{employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA,company_size=M}"                                                        
## [129] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                                           
## [130] "{job_title=Scientist,salary_in_usd=<90k,remote_ratio=50}"                                                                                    
## [131] "{experience_level=EN,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                                      
## [132] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=0}"                                                        
## [133] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,company_size=M}"                                                                   
## [134] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k,company_size=M}"                                                
## [135] "{job_title=Analyst,employee_residence=Not_US_CA}"                                                                                            
## [136] "{experience_level=EN,job_title=Scientist,employee_residence=Not_US_CA}"                                                                      
## [137] "{job_title=Enginer,salary_in_usd=<90k,remote_ratio=50}"                                                                                      
## [138] "{experience_level=SE,job_title=Enginer,employee_residence=Not_US_CA}"                                                                        
## [139] "{employment_type=FT,job_title=Scientist,salary_in_usd=<90k,remote_ratio=50}"                                                                 
## [140] "{salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                                           
## [141] "{employment_type=FT,job_title=Analyst,employee_residence=Not_US_CA}"                                                                         
## [142] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                                         
## [143] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                    
## [144] "{employment_type=FT,employee_residence=Not_US_CA}"                                                                                           
## [145] "{experience_level=MI,employee_residence=Not_US_CA,remote_ratio=50,company_size=L}"                                                           
## [146] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50,company_size=L}"                                                            
## [147] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,remote_ratio=50}"                                                                   
## [148] "{experience_level=MI,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                                          
## [149] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                       
## [150] "{employment_type=FT,employee_residence=Not_US_CA,company_size=L}"                                                                            
## [151] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                       
## [152] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50,company_size=L}"                                         
## [153] "{remote_ratio=50,company_size=M}"                                                                                                            
## [154] "{experience_level=SE,employee_residence=Not_US_CA,company_size=L}"                                                                           
## [155] "{experience_level=EN,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                   
## [156] "{experience_level=SE,employment_type=FT,employee_residence=Not_US_CA,company_size=L}"                                                        
## [157] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=50,company_size=L}"                                        
## [158] "{salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                                                            
## [159] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA}"                                                                       
## [160] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=0}"                                                                             
## [161] "{job_title=Scientist,employee_residence=Not_US_CA,company_size=M}"                                                                           
## [162] "{job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=M}"                                                        
## [163] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                       
## [164] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"
## [165] "{employee_residence=Not_US_CA,company_size=L}"                                                                                               
## [166] "{employee_residence=Not_US_CA}"                                                                                                              
## [167] "{experience_level=MI,employee_residence=Not_US_CA}"                                                                                          
## [168] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                                       
## [169] "{experience_level=MI,employment_type=FT,job_title=Enginer,salary_in_usd=<90k}"                                                               
## [170] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,company_size=S}"                                                          
## [171] "{experience_level=MI,job_title=Enginer,employee_residence=Not_US_CA,company_size=L}"                                                         
## [172] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                                           
## [173] "{experience_level=SE,employee_residence=US_CA,remote_ratio=100,company_size=L}"                                                              
## [174] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,remote_ratio=100,company_size=L}"                                           
## [175] "{experience_level=SE,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=L}"                                       
## [176] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=L}"                    
## [177] "{experience_level=SE,employee_residence=Not_US_CA,remote_ratio=50}"                                                                          
## [178] "{experience_level=SE,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=50}"                                                       
## [179] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=50,company_size=L}"                                        
## [180] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                      
## [181] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                     
## [182] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                                      
## [183] "{job_title=Enginer,salary_in_usd=<90k,remote_ratio=100,company_size=M}"                                                                      
## [184] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,remote_ratio=100,company_size=M}"                                                   
## [185] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k}"                                                                                  
## [186] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                   
## [187] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=S}"                                                         
## [188] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,company_size=L}"                                                        
## [189] "{job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                                        
## [190] "{employment_type=FT,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                     
## [191] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100,company_size=M}"                                                
## [192] "{salary_in_usd=<90k,remote_ratio=50}"                                                                                                        
## [193] "{job_title=Scientist,employee_residence=Not_US_CA,company_size=L}"                                                                           
## [194] "{employee_residence=Not_US_CA,remote_ratio=100,company_size=L}"                                                                              
## [195] "{employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA,company_size=L}"                                                        
## [196] "{employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                                                              
## [197] "{experience_level=MI,salary_in_usd=<90k,remote_ratio=50}"                                                                                    
## [198] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100,company_size=L}"                                                           
## [199] "{employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA}"                                                                       
## [200] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                          
## [201] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                   
## [202] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100,company_location=US_CA,company_size=M}"                         
## [203] "{salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100}"                                                                          
## [204] "{experience_level=SE,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                    
## [205] "{experience_level=MI,job_title=Enginer,remote_ratio=100,company_size=M}"                                                                     
## [206] "{experience_level=MI,employment_type=FT,job_title=Enginer,remote_ratio=100,company_size=M}"                                                  
## [207] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=L}"                                                        
## [208] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100}"                                      
## [209] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"               
## [210] "{employment_type=FT,salary_in_usd=<90k,remote_ratio=50}"                                                                                     
## [211] "{experience_level=MI,employee_residence=Not_US_CA,company_size=L}"                                                                           
## [212] "{employment_type=FT,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                    
## [213] "{job_title=Enginer,employee_residence=Not_US_CA,company_size=S}"                                                                             
## [214] "{experience_level=MI,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=S}"                                                        
## [215] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=S}"                                     
## [216] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,remote_ratio=50}"                                                                 
## [217] "{experience_level=SE,remote_ratio=100,company_location=US_CA,company_size=L}"                                                                
## [218] "{experience_level=SE,employment_type=FT,remote_ratio=100,company_location=US_CA,company_size=L}"                                             
## [219] "{job_title=Scientist,employee_residence=Not_US_CA}"                                                                                          
## [220] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_size=M}"                                        
## [221] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=M}"                 
## [222] "{experience_level=EN,salary_in_usd=<90k,remote_ratio=50}"                                                                                    
## [223] "{experience_level=SE,job_title=Scientist,remote_ratio=100,company_size=M}"                                                                   
## [224] "{employment_type=FT,employee_residence=Not_US_CA,company_size=S}"                                                                            
## [225] "{experience_level=SE,employment_type=FT,employee_residence=Not_US_CA}"                                                                       
## [226] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100}"                                                                          
## [227] "{salary_in_usd=<90k,employee_residence=Not_US_CA,company_size=S}"                                                                            
## [228] "{experience_level=EX,company_location=US_CA}"                                                                                                
## [229] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100}"                                                         
## [230] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                                  
## [231] "{experience_level=SE,job_title=Scientist,remote_ratio=100,company_location=US_CA,company_size=M}"                                            
## [232] "{experience_level=MI,employee_residence=Not_US_CA,remote_ratio=100}"                                                                         
## [233] "{job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                       
## [234] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,remote_ratio=100}"                                                                  
## [235] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100}"                                                      
## [236] "{experience_level=MI,job_title=Scientist,employee_residence=Not_US_CA}"                                                                      
## [237] "{job_title=Enginer,salary_in_usd=<90k,company_size=M}"                                                                                       
## [238] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,company_size=M}"                                                                    
## [239] "{experience_level=SE,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                                       
## [240] "{job_title=Enginer,salary_in_usd=<90k,company_size=S}"                                                                                       
## [241] "{experience_level=MI,job_title=Scientist,employee_residence=Not_US_CA,company_size=L}"                                                       
## [242] "{experience_level=MI,employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA,company_size=L}"                                    
## [243] "{experience_level=MI,employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA}"                                                   
## [244] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k}"                                                                                   
## [245] "{experience_level=MI,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                                   
## [246] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_size=M}"                                                           
## [247] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                    
## [248] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_location=US_CA,company_size=M}"                                          
## [249] "{experience_level=SE,employee_residence=Not_US_CA}"                                                                                          
## [250] "{job_title=Enginer,salary_in_usd=<90k,remote_ratio=100}"                                                                                     
## [251] "{employee_residence=Not_US_CA,remote_ratio=100}"                                                                                             
## [252] "{salary_in_usd=<90k,remote_ratio=50,company_size=L}"                                                                                         
## [253] "{experience_level=MI,employment_type=FT,job_title=Scientist,salary_in_usd=<90k,employee_residence=Not_US_CA}"                                
## [254] "{employee_residence=Not_US_CA,company_size=S}"                                                                                               
## [255] "{employment_type=FT,salary_in_usd=<90k,remote_ratio=50,company_size=L}"                                                                      
## [256] "{job_title=Enginer,salary_in_usd=<90k}"                                                                                                      
## [257] "{job_title=Manager/Driector,employee_residence=Not_US_CA}"                                                                                   
## [258] "{employment_type=FT,job_title=Manager/Driector,employee_residence=Not_US_CA}"                                                                
## [259] "{experience_level=MI,employee_residence=Not_US_CA,company_size=S}"                                                                           
## [260] "{experience_level=MI,employment_type=FT,employee_residence=Not_US_CA,company_size=S}"                                                        
## [261] "{experience_level=SE,job_title=Scientist,company_location=US_CA,company_size=M}"                                                             
## [262] "{job_title=Enginer,remote_ratio=50}"                                                                                                         
## [263] "{employment_type=FT,job_title=Enginer,salary_in_usd=<90k,company_size=L}"                                                                    
## [264] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100,company_location=US_CA}"                                        
## [265] "{experience_level=EN,employment_type=FT,job_title=Scientist,salary_in_usd=<90k}"                                                             
## [266] "{experience_level=SE,employment_type=FT,job_title=Enginer,salary_in_usd=<90k}"                                                               
## [267] "{experience_level=SE,employee_residence=US_CA,company_size=L}"                                                                               
## [268] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,company_size=L}"                                                            
## [269] "{job_title=Manager/Driector,employee_residence=US_CA,company_size=L}"                                                                        
## [270] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,company_size=L}"                                                     
## [271] "{experience_level=SE,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                                                  
## [272] "{experience_level=SE,job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                                    
## [273] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                               
## [274] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                 
## [275] "{experience_level=SE,employment_type=FT,job_title=Scientist,remote_ratio=100}"                                                               
## [276] "{experience_level=SE,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                                        
## [277] "{experience_level=SE,employment_type=FT,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                     
## [278] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA}"                                                       
## [279] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA}"                                
## [280] "{experience_level=EN,remote_ratio=50}"                                                                                                       
## [281] "{employment_type=FT,job_title=Enginer,remote_ratio=50}"                                                                                      
## [282] "{job_title=Enginer,salary_in_usd=<90k,company_size=L}"                                                                                       
## [283] "{employment_type=FT,job_title=Scientist,employee_residence=Not_US_CA,company_size=S}"                                                        
## [284] "{experience_level=MI,salary_in_usd=<90k,remote_ratio=50,company_size=L}"                                                                     
## [285] "{experience_level=MI,job_title=Enginer,salary_in_usd=<90k,company_size=L}"                                                                   
## [286] "{experience_level=SE,job_title=Scientist,remote_ratio=100,company_location=US_CA}"                                                           
## [287] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_size=M}"                                                                 
## [288] "{experience_level=SE,job_title=Scientist,remote_ratio=100}"                                                                                  
## [289] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA}"                                                                          
## [290] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_location=US_CA}"                                                   
## [291] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=S}"                                        
## [292] "{job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                                                                      
## [293] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100}"                                                   
## [294] "{experience_level=MI,salary_in_usd=<90k,company_size=M}"                                                                                     
## [295] "{experience_level=SE,job_title=Scientist,company_size=M}"                                                                                    
## [296] "{experience_level=SE,company_location=US_CA,company_size=L}"                                                                                 
## [297] "{job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                                               
## [298] "{experience_level=SE,employment_type=FT,company_location=US_CA,company_size=L}"                                                              
## [299] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                            
## [300] "{job_title=Scientist,employee_residence=Not_US_CA,company_size=S}"                                                                           
## [301] "{experience_level=SE,job_title=Enginer,salary_in_usd=<90k}"                                                                                  
## [302] "{experience_level=EN,job_title=Enginer,salary_in_usd=<90k}"                                                                                  
## [303] "{experience_level=MI,job_title=Enginer,company_size=M}"                                                                                      
## [304] "{experience_level=MI,employment_type=FT,job_title=Enginer,company_size=M}"                                                                   
## [305] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,company_size=M}"                                                                  
## [306] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_size=L}"                                                           
## [307] "{experience_level=SE,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=L}"                                    
## [308] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_size=L}"                                        
## [309] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                           
## [310] "{experience_level=SE,employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=L}"                 
## [311] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                    
## [312] "{experience_level=MI,salary_in_usd=<90k,remote_ratio=100,company_size=M}"                                                                    
## [313] "{experience_level=MI,employment_type=FT,salary_in_usd=<90k,remote_ratio=100,company_size=M}"                                                 
## [314] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_location=US_CA}"                                                         
## [315] "{experience_level=MI,remote_ratio=50}"                                                                                                       
## [316] "{experience_level=EN,employment_type=FT,remote_ratio=50}"                                                                                    
## [317] "{experience_level=EN,job_title=Scientist,salary_in_usd=<90k}"                                                                                
## [318] "{experience_level=SE,employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100}"                                                      
## [319] "{job_title=Scientist,salary_in_usd=<90k,company_size=L}"                                                                                     
## [320] "{employment_type=FT,employee_residence=Not_US_CA,remote_ratio=100,company_size=S}"                                                           
## [321] "{employment_type=FT,job_title=Scientist,salary_in_usd=<90k,company_size=L}"                                                                  
## [322] "{experience_level=SE,job_title=Manager/Driector,employee_residence=US_CA}"                                                                   
## [323] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA}"                                                
## [324] "{job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                                                        
## [325] "{employment_type=FT,job_title=Manager/Driector,remote_ratio=100,company_location=US_CA}"                                                     
## [326] "{experience_level=SE,job_title=Scientist,company_location=US_CA}"                                                                            
## [327] "{experience_level=EN,employment_type=FT,job_title=Enginer,salary_in_usd=<90k}"                                                               
## [328] "{experience_level=SE,job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                                            
## [329] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                         
## [330] "{experience_level=SE,employment_type=FT,job_title=Enginer,company_location=US_CA}"                                                           
## [331] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA}"                                                                            
## [332] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,company_location=US_CA}"                                                     
## [333] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA}"                                                         
## [334] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_location=US_CA}"                                  
## [335] "{job_title=Manager/Driector,employee_residence=US_CA}"                                                                                       
## [336] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA}"                                                                    
## [337] "{experience_level=EX}"                                                                                                                       
## [338] "{experience_level=SE,job_title=Manager/Driector,company_location=US_CA}"                                                                     
## [339] "{experience_level=SE,employment_type=FT,job_title=Manager/Driector,company_location=US_CA}"                                                  
## [340] "{experience_level=SE,employment_type=FT,job_title=Enginer,remote_ratio=100,company_location=US_CA}"                                          
## [341] "{experience_level=SE,job_title=Enginer,company_location=US_CA}"                                                                              
## [342] "{job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                                              
## [343] "{job_title=Scientist,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                                       
## [344] "{employment_type=FT,job_title=Scientist,remote_ratio=100,company_location=US_CA,company_size=M}"                                             
## [345] "{job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                                                                
## [346] "{employment_type=FT,job_title=Manager/Driector,employee_residence=US_CA,company_location=US_CA}"                                             
## [347] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,remote_ratio=100}"                                                           
## [348] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                                    
## [349] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100}"                                        
## [350] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA}"                 
## [351] "{experience_level=SE,job_title=Scientist,company_location=US_CA,company_size=L}"                                                             
## [352] "{experience_level=SE,employment_type=FT,job_title=Scientist,company_location=US_CA,company_size=L}"                                          
## [353] "{experience_level=EX,employment_type=FT}"                                                                                                    
## [354] "{job_title=Enginer,remote_ratio=100,company_location=US_CA,company_size=M}"                                                                  
## [355] "{employment_type=FT,job_title=Enginer,remote_ratio=100,company_location=US_CA,company_size=M}"                                               
## [356] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_size=M}"                                                            
## [357] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,company_size=M}"                                                             
## [358] "{experience_level=SE,job_title=Enginer,company_location=US_CA,company_size=M}"                                                               
## [359] "{employment_type=FT,job_title=Scientist,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                     
## [360] "{experience_level=SE,job_title=Enginer,employee_residence=US_CA,company_location=US_CA,company_size=M}"                                      
## [361] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_size=M}"                                          
## [362] "{experience_level=SE,employment_type=FT,job_title=Enginer,company_location=US_CA,company_size=M}"                                            
## [363] "{experience_level=SE,employment_type=FT,job_title=Enginer,employee_residence=US_CA,company_location=US_CA,company_size=M}"                   
## [364] "{job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                                                
## [365] "{job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                                         
## [366] "{employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_size=M}"                                             
## [367] "{employment_type=FT,job_title=Enginer,employee_residence=US_CA,remote_ratio=100,company_location=US_CA,company_size=M}"                      
## [368] "{experience_level=SE,job_title=Enginer,remote_ratio=100,company_location=US_CA}"                                                             
## Itemsets in Consequent (RHS)
## [1] "{salary_in_usd=>120000k}"     "{company_location=Not_US_CA}"

#
somerules <- subset(ars,
                    subset=rhs %in% c("company_size=L", "experience_level=MI") & confidence>0.75)
plot(somerules, method="matrix", measure="lift")
## Itemsets in Antecedent (LHS)
##  [1] "{employee_residence=US_CA,remote_ratio=50}"                                                                                     
##  [2] "{employee_residence=US_CA,remote_ratio=50,company_location=US_CA}"                                                              
##  [3] "{employment_type=FT,employee_residence=US_CA,remote_ratio=50}"                                                                  
##  [4] "{employment_type=FT,employee_residence=US_CA,remote_ratio=50,company_location=US_CA}"                                           
##  [5] "{remote_ratio=50,company_location=US_CA}"                                                                                       
##  [6] "{employment_type=FT,remote_ratio=50,company_location=US_CA}"                                                                    
##  [7] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                               
##  [8] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                            
##  [9] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                           
## [10] "{job_title=Enginer,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                                                 
## [11] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                    
## [12] "{employment_type=FT,job_title=Enginer,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                              
## [13] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_location=Not_US_CA,company_size=M}" 
## [14] "{employment_type=FT,salary_in_usd=<90k,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                             
## [15] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_location=Not_US_CA,company_size=M}"
## Itemsets in Consequent (RHS)
## [1] "{experience_level=MI}" "{company_size=L}"

Matrix-based 3-dimension visualizations

It organize the antecedent (LHS rules) and consequent (RHS rules) on the x- and y-axis and numerical measure (eg. lift) will be plotted 3 dimsioin bar. If no rule is available will be blank.

options(digits = 2)
# somerules <- subset(ars,
#                     subset=rhs %in% c("company_size=L", "experience_level=MI") & confidence>0.75)
plot(somerules, method="matrix", engine = "3d", measure="lift")
## Itemsets in Antecedent (LHS)
##  [1] "{employee_residence=US_CA,remote_ratio=50}"                                                                                     
##  [2] "{employee_residence=US_CA,remote_ratio=50,company_location=US_CA}"                                                              
##  [3] "{employment_type=FT,employee_residence=US_CA,remote_ratio=50}"                                                                  
##  [4] "{employment_type=FT,employee_residence=US_CA,remote_ratio=50,company_location=US_CA}"                                           
##  [5] "{remote_ratio=50,company_location=US_CA}"                                                                                       
##  [6] "{employment_type=FT,remote_ratio=50,company_location=US_CA}"                                                                    
##  [7] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                                               
##  [8] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                            
##  [9] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_size=M}"                           
## [10] "{job_title=Enginer,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                                                 
## [11] "{job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                    
## [12] "{employment_type=FT,job_title=Enginer,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                              
## [13] "{employment_type=FT,job_title=Enginer,employee_residence=Not_US_CA,remote_ratio=100,company_location=Not_US_CA,company_size=M}" 
## [14] "{employment_type=FT,salary_in_usd=<90k,remote_ratio=100,company_location=Not_US_CA,company_size=M}"                             
## [15] "{employment_type=FT,salary_in_usd=<90k,employee_residence=Not_US_CA,remote_ratio=100,company_location=Not_US_CA,company_size=M}"
## Itemsets in Consequent (RHS)
## [1] "{experience_level=MI}" "{company_size=L}"

Grouped matrix-based visualization

Matrix-based visualization is limited in number of rules it can be visualized, since there could be many unique rules. Hahsler and Chelluboina 2011, introduced the matrix based visualization by grouping of rules, grouping similar itemsets. Grouping of itemsets are done through Jaccard distance, which is simply the number of items that X_i and X-j have in common divided by the number of unique items in both sets.

## Grouped plot
#plot(ars, method = "grouped")
somerules <- subset(ars,
   subset=rhs %in% c("employment_type=FT", "salary_in_usd=>120000k", "company_size=L", "experience_level=MI") & confidence>0.75)
#
#plot(somerules, method = "grouped")
plot(ars, method = "grouped", control = list(k = 10))

# Double decker plot:

It is a variant of a mosaic plot in continuous variables. Hofmann, Siebes, and Wilhelm (2000) introduced double decker plots to visualize a single association rule. Here the displayed contingency table is computed for a rule by counting the occurrence frequency for each subset of items in the antecedent (x-axis) and consequent (y-axis) from the original data set.

We randomly choose a single rule and visualize it with a double decker plot.

## Doubledecker plot only works for a single rule
oneRule <- sample(ars, 1) ## Sample a rule
summary(oneRule)
## set of 1 rules
## 
## rule length distribution (lhs + rhs):sizes
## 5 
## 1 
## 
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       5       5       5       5       5       5 
## 
## summary of quality measures:
##     support         confidence    coverage           lift          count   
##  Min.   :0.0313   Min.   :1    Min.   :0.0313   Min.   :1.68   Min.   :19  
##  1st Qu.:0.0313   1st Qu.:1    1st Qu.:0.0313   1st Qu.:1.68   1st Qu.:19  
##  Median :0.0313   Median :1    Median :0.0313   Median :1.68   Median :19  
##  Mean   :0.0313   Mean   :1    Mean   :0.0313   Mean   :1.68   Mean   :19  
##  3rd Qu.:0.0313   3rd Qu.:1    3rd Qu.:0.0313   3rd Qu.:1.68   3rd Qu.:19  
##  Max.   :0.0313   Max.   :1    Max.   :0.0313   Max.   :1.68   Max.   :19  
## 
## mining info:
##  data ntransactions support confidence
##     .           607   0.025       0.75
##                                                                     call
##  apriori(data = ., parameter = list(support = 0.025, confidence = 0.75))
plot(oneRule, method="doubledecker", data = dat1)

Graph-based visualization with items, and rules as vertices

The following plot represents items and rules as vertices connecting them with directed edges. This representation focuses on how the rules are composed of individual items and shows which rules share items.

## Graph-based visualization with items and rules as vertices.
somerules <- subset(ars, subset=rhs %in% c( "salary_in_usd=>120000k", "company_size=L", "experience_level=MI", "employee_residence=US_CA")  & 
                     confidence > 0.95 & lift > 1.30)
somerules
## set of 292 rules
plot(somerules, method="graph", control=list(type="itemsets"))
## Warning: Unknown control parameters: type
## Available control parameters (with default values):
## layout    =  stress
## circular  =  FALSE
## ggraphdots    =  NULL
## edges     =  <environment>
## nodes     =  <environment>
## nodetext  =  <environment>
## colors    =  c("#EE0000FF", "#EEEEEEFF")
## engine    =  ggplot2
## max   =  100
## verbose   =  FALSE
## Warning: Too many rules supplied. Only plotting the best 100 using 'lift'
## (change control parameter max if needed).

Parallel coordinates plot

It is designed to visualize multidimensional data where each dimension is displayed separately on the x-axis and the y-axis is shared.

The width of the arrows represents support and the intensity of the color represent confidence. It is obvious that for larger rule sets visual analysis becomes difficult. The number of crossovers can be significantly reduced by reordering the items on the y-axis.

## parallel coordinates plot
somerules <- subset(ars,
   subset=rhs %in% c( "salary_in_usd=90000k-120000k", "company_size=L", "experience_level=MI") & confidence>0.05)

#plot(somerules, method="paracoord")
## Order rules
plot(somerules, method="paracoord", control=list(reorder=TRUE))