## 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 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
## ------ 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 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))"
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
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
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
#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
##
## 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.
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 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}"
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}"
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)
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).
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))