##Understnding the Market Research job market in NY
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.4.2 ✔ purrr 1.0.1
## ✔ tibble 3.2.1 ✔ dplyr 1.1.2
## ✔ tidyr 1.3.0 ✔ stringr 1.5.0
## ✔ readr 2.1.2 ✔ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(rvest)
##
## Attaching package: 'rvest'
##
## The following object is masked from 'package:readr':
##
## guess_encoding
library(httr)
glassdoor_data <- read_html("https://www.glassdoor.com/Job/new-york-ny-us-market-researcher-jobs-SRCH_IL.0,14_IC1132348_KO15,32.htm")
glassdoor_data2 <- read_html("https://www.glassdoor.com/Job/new-york-market-researcher-jobs-SRCH_IL.0,8_IC1132348_KO9,26_IP2.htm?includeNoSalaryJobs=true&pgc=AB4AAYEAHgAAAAAAAAAAAAAAAg5qcyEAKgEBIwYEe7KeHGMytiHAxYlwsaJLw%2FDa9jupwF4%2BbxDi%2Fi6VPifrMWbQEAAA")
glassdoor_data3 <- read_html("https://www.glassdoor.com/Job/new-york-market-researcher-jobs-SRCH_IL.0,8_IC1132348_KO9,26_IP3.htm?includeNoSalaryJobs=true&pgc=AB4AAoEAPAAAAAAAAAAAAAAAAg5qcyEANwECARFgBgttCgQKwJeUTRyooNc2cQFtCqPFMiZMTzWOoIBrxY2NGlz6%2BTeyMGuGZ9HpSsP9vJEAAA%3D%3D")
glassdoor_data4 <- read_html("https://www.glassdoor.com/Job/new-york-market-researcher-jobs-SRCH_IL.0,8_IC1132348_KO9,26_IP4.htm?includeNoSalaryJobs=true&pgc=AB4AA4EAWgAAAAAAAAAAAAAAAg5qcyEAPQECAREuBglx2bsslBRjcmiak3hKtIi5S80ZmFuMh14JzbrbWJ1hmyVdRstgsb5qBvFgP2bolCXAjHVBkEEAAA%3D%3D")
job_board <- rep("Glassdoor", 30)
positions1 <- html_nodes(glassdoor_data, ".mt-xsm") %>% html_text()
positions2<- html_nodes(glassdoor_data2, ".mt-xsm") %>% html_text()
positions3<- html_nodes(glassdoor_data3, ".mt-xsm") %>% html_text()
positions4<- html_nodes(glassdoor_data4, ".mt-xsm") %>% html_text()
positions <- c(positions1, positions2, positions3, positions4)
company_name1 <- html_nodes(glassdoor_data, ".job-search-8wag7x") %>% html_text()
company_name2<- html_nodes(glassdoor_data2, ".job-search-8wag7x") %>% html_text()
company_name3<- html_nodes(glassdoor_data3, ".job-search-8wag7x") %>% html_text()
company_name4<- html_nodes(glassdoor_data4, ".job-search-8wag7x") %>% html_text()
company_name <- c(company_name1, company_name2, company_name3, company_name4)
company_name <- str_remove(company_name, "\\d.*")
company_name <- str_remove(company_name, ".job-search-rnnx")
location1 <-html_nodes(glassdoor_data, ".location.mt-xxsm") %>% html_text()
location2<- html_nodes(glassdoor_data2, ".location.mt-xxsm") %>% html_text()
location3<- html_nodes(glassdoor_data3, ".location.mt-xxsm") %>% html_text()
location4<- html_nodes(glassdoor_data4, ".location.mt-xxsm") %>% html_text()
location <- c(location1, location2, location3, location4)
# Define a function to get pay data that handles missing values
get_pay_data <- function(data) {
pay_data <- html_nodes(data, ".salary-estimate") %>% html_text()
# Extract the number of job listings on the page
num_jobs <- length(html_nodes(data, ".jobLink"))
# If the length of pay data is less than the number of jobs, fill with NA
if (length(pay_data) < num_jobs) {
missing_pay <- rep(NA, num_jobs - length(pay_data))
pay_data <- c(pay_data, missing_pay)
}
return(pay_data)
}
# Extract pay data using the function
pay1 <- get_pay_data(glassdoor_data)
pay2 <- get_pay_data(glassdoor_data2)
pay3 <- get_pay_data(glassdoor_data3)
pay4 <- get_pay_data(glassdoor_data4)
pay <- c(pay1, pay2, pay3, pay4)
pay <- str_remove_all(pay, "\\s\\((Employer est.)\\)|\\s\\((Glassdoor est.)\\)")
pay
## [1] "$60K - $75K" "$66K - $80K"
## [3] "$175K - $300K" "$52K - $71K"
## [5] "$165K - $260K" "$160K - $250K"
## [7] "$154K - $216K" "$55K - $87K"
## [9] "$56K - $62K" "$90K - $179K"
## [11] "$150K - $300K" "$59K - $96K"
## [13] "$19.00 - $23.00 Per Hour" "$55K - $64K"
## [15] "$88K - $127K" "$70K - $75K"
## [17] "$175K - $225K" "$145K - $266K"
## [19] "$50K - $55K" "$52K - $72K"
## [21] "$175K - $250K" "$85K - $115K"
## [23] "$68K - $109K" "$54K - $83K"
## [25] "$130K - $211K" "$65K - $70K"
## [27] "$90K - $120K" "$175K - $300K"
## [29] NA NA
## [31] "$154K - $216K" "$70K - $90K"
## [33] "$125K - $145K" "$73K - $98K"
## [35] "$95K - $120K" "$75K - $133K"
## [37] "$150K - $250K" "$28.00 Per Hour"
## [39] "$68K - $109K" "$150K - $250K"
## [41] "$130K - $211K" "$76K - $118K"
## [43] "$56K - $62K" "$175K - $300K"
## [45] "$70K - $75K" "$80K - $90K"
## [47] "$175K - $250K" "$87K - $143K"
## [49] "$90K - $179K" "$53K - $86K"
## [51] "$145K - $266K" "$90K - $120K"
## [53] "$50K - $55K" "$52K - $72K"
## [55] "$198K - $237K" "$110K - $180K"
## [57] "$88K - $127K" "$40.00 - $45.00 Per Hour"
## [59] NA NA
## [61] "$80K - $110K" "$240K - $330K"
## [63] "$154K - $216K" "$90K - $179K"
## [65] "$19.00 - $23.00 Per Hour" "$88K - $127K"
## [67] "$70K - $75K" "$175K - $225K"
## [69] "$145K - $266K" "$50K - $55K"
## [71] "$52K - $72K" "$68K - $109K"
## [73] "$54K - $83K" "$175K - $300K"
## [75] "$150K - $250K" "$61K - $98K"
## [77] "$110K - $180K" "$150K - $250K"
## [79] "$65K - $75K" "$60K - $65K"
## [81] "$55K - $105K" "$59K - $75K"
## [83] "$95K - $105K" "$125K - $145K"
## [85] "$95K - $120K" "$139K - $189K"
## [87] "$76K - $118K" "$65K - $75K"
## [89] "$70K - $90K" NA
## [91] "$154K - $216K" "$19.00 - $23.00 Per Hour"
## [93] "$145K - $266K" "$50K - $55K"
## [95] "$52K - $72K" "$54K - $83K"
## [97] "$175K - $300K" "$61K - $98K"
## [99] "$65K - $75K" "$60K - $65K"
## [101] "$55K - $105K" "$125K - $145K"
## [103] "$95K - $120K" "$76K - $118K"
## [105] "$65K - $75K" "$96K - $150K"
## [107] "$198K - $237K" "$66K - $70K"
## [109] "$92K - $364K" "$53K - $75K"
## [111] "$95K - $143K" "$60K - $70K"
## [113] "$73K - $98K" "$180K - $204K"
## [115] "$28.00 Per Hour" "$145K"
## [117] "$64K - $94K" "$120K - $175K"
## [119] "$120K - $140K" NA
job_urls1 <- glassdoor_data %>%
html_nodes("a.jobLink") %>%
html_attr("href")
job_urls2 <- glassdoor_data2 %>%
html_nodes("a.jobLink") %>%
html_attr("href")
job_urls3 <- glassdoor_data3 %>%
html_nodes("a.jobLink") %>%
html_attr("href")
job_urls4 <- glassdoor_data4 %>%
html_nodes("a.jobLink") %>%
html_attr("href")
job_urls <- c(job_urls1, job_urls2, job_urls3, job_urls4)
job_urls <- unique(job_urls)
job_urls <- str_c("https://www.glassdoor.com", job_urls)
#Create a list to store the vectors for each URL
job_urlinfo <- list()
# Loop through the URLs and read each page using read_html()
for (i in seq_along(job_urls)) {
job_urlinfo[[i]] <- read_html(job_urls[i])
}
This vector is created to retrieve the conent of the job postings that will prove essential for the rest of the data scraping.
job_req <- list()
for (i in 1:120) {
job_req[[i]] <- job_urlinfo[[i]] %>% html_elements("#JobDescriptionContainer") %>% html_text()
}
job_req <- unlist(job_req)
#this extract pay in a different way than before so any missing wages in the first method can then be imported through this method
payx <- list()
for (i in seq_along(job_req)) {
job_req[[i]] <- str_remove_all(job_req[[i]], "\\b\\d{4}")
matches <- str_extract_all(job_req[[i]], "\\$?\\d{2,3}(?:[.,]\\d{1,3})?([.]\\d{2})?(?:\\s?-\\s?|\\sto\\s?)?\\$?\\d{2,3}(?:[.,]\\d{1,3})?")
payx[[i]] <- paste(unlist(matches), collapse = ", ")
}
pay[is.na(pay)] <- payx[is.na(pay)]
pay <- str_replace_all(pay, "(?i)k", ",000")
pay <- str_remove_all(pay, "(Per Hour)?")
pay <- str_remove_all(pay, "\\s")
add_dash_duplicate <- function(x) {
if (str_detect(x, "-")) return(x)
str_replace(x, "(\\$?\\d{2,3}(\\.)?(\\,)?\\d{2,3})", "\\1-\\1")
}
pay <- lapply(pay, add_dash_duplicate)
min_pay <- str_extract_all(pay, "\\$?\\d{2,3}(\\.)?(\\,)?\\d{2,3}(-)")
min_pay <- str_remove_all(min_pay, "-")
## Warning in stri_replace_all_regex(string, pattern,
## fix_replacement(replacement), : argument is not an atomic vector; coercing
max_pay <- str_extract_all(pay, "(-)\\$?\\d{2,3}(\\.)?(\\,)?\\d{2,3}")
max_pay <- str_remove_all(max_pay, "-")
## Warning in stri_replace_all_regex(string, pattern,
## fix_replacement(replacement), : argument is not an atomic vector; coercing
##converting hourly wages to yearly salary by multiplying hourly wage by 2,080 (full time hours in a year)
min_pay <- str_remove_all(min_pay, "[\\$,]")
matchx <- str_extract_all(min_pay, "(\\d{2})\\.(\\d{2})")
min_pay <- str_remove_all(min_pay, "(\\d{2})\\.(\\d{2})")
matchx <- str_remove_all(matchx, "\\.00")
## Warning in stri_replace_all_regex(string, pattern,
## fix_replacement(replacement), : argument is not an atomic vector; coercing
matchx <- as.numeric(matchx)
## Warning: NAs introduced by coercion
matchx <- matchx * 2080
min_pay[min_pay == ""] <- matchx[min_pay == ""]
max_pay <- str_remove_all(max_pay, "[\\$,]")
matchx <- str_extract_all(max_pay, "(\\d{2})\\.(\\d{2})")
max_pay <- str_remove_all(max_pay, "(\\d{2})\\.(\\d{2})")
matchx <- str_remove_all(matchx, "\\.00")
## Warning in stri_replace_all_regex(string, pattern,
## fix_replacement(replacement), : argument is not an atomic vector; coercing
matchx <- as.numeric(matchx)
## Warning: NAs introduced by coercion
matchx <- matchx * 2080
max_pay[max_pay == ""] <- matchx[max_pay == ""]
max_pay
## [1] "75000" "80000" "300000" "71000" "260000"
## [6] "250000" "216000" "87000" "62000" "179000"
## [11] "300000" "96000" "47840" "64000" "127000"
## [16] "75000" "225000" "266000" "55000" "72000"
## [21] "250000" "115000" "109000" "83000" "211000"
## [26] "70000" "120000" "300000" "120000" "175000"
## [31] "216000" "90000" "145000" "98000" "120000"
## [36] "133000" "250000" "58240" "109000" "250000"
## [41] "211000" "118000" "62000" "300000" "75000"
## [46] "90000" "250000" "143000" "179000" "86000"
## [51] "266000" "120000" "55000" "72000" "237000"
## [56] "180000" "127000" "93600" "95000" "character(0)"
## [61] "110000" "330000" "216000" "179000" "47840"
## [66] "127000" "75000" "225000" "266000" "55000"
## [71] "72000" "109000" "83000" "300000" "250000"
## [76] "98000" "180000" "250000" "75000" "65000"
## [81] "105000" "75000" "105000" "145000" "120000"
## [86] "189000" "118000" "75000" "90000" "90000"
## [91] "216000" "47840" "266000" "55000" "72000"
## [96] "83000" "300000" "98000" "75000" "65000"
## [101] "105000" "145000" "120000" "118000" "75000"
## [106] "150000" "237000" "70000" "364000" "75000"
## [111] "143000" "70000" "98000" "204000" "58240"
## [116] "145000" "94000" "175000" "140000" "120000"
educ_req <- list()
for (i in seq_along(job_req)) {
educ_req[[i]] <- str_extract_all(job_req[[i]], "(?i)(Advanced Degree|Bachelor('s)?|Master('s)?)([(\\s\\w)?(^.(,)?)?\\n]*)?([^.\\n]*)?")
}
Degree
degree <- list()
for (i in seq_along(educ_req)) {
degree[[i]] <- str_extract(educ_req[[i]], "(?i)(Advanced Degree|Degree|Bachelor('s)?|Master('s)?)")
}
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
## Warning in stri_extract_first_regex(string, pattern, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
Major
major <- list()
for (i in seq_along(educ_req)) {
matches <- str_extract_all(educ_req[[i]], "(?i)(Marketing|Advertising|Statistics|Finance|Data Science|Information Science|Information Technology|Operation(s)? Research| Mathematics|Math|ScienceEconomics|Engineering|Business|management information system|human resource|psychology|Supply Chain Management|Health Information Management | Marketing|Advertising|Statistics|Business Administration|Data Science|Economics|Psychology|Sociology|Mathematics|Market Research|Analytics|Information Systems|Communication|Public Relations|Journalism|Finance|Consumer Behavior|Digital Media|Management|Operations Research|Social Sciences|Business Analytics|Behavioral Economics|Anthropology|International Business)")
major[[i]] <- paste(unlist(matches), collapse = ", ")
}
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
## Warning in stri_extract_all_regex(string, pattern, simplify = simplify, :
## argument is not an atomic vector; coercing
skills <- list()
for (i in seq_along(job_req)) {
skills[[i]] <- str_extract_all(job_req[[i]], "((R\\s)|(?i)(Requirement(s)?|Experience|Qualification(s)?|Python|SoTA|NLP|Natural Language Processing|\\bAI|Artificial Intelligence|\\bML|Machine Learning|PyTorch|Tensorflow|SQL|Power BI|Tableau|Data Visualization|Data Analysis|Statistical|statistic|Google|SAP|Github|Excel)[^.\\n]*)")
}
skills <- str_remove_all(skills, " ")
## Warning in stri_replace_all_regex(string, pattern,
## fix_replacement(replacement), : argument is not an atomic vector; coercing
skills <- sapply(skills, paste, collapse = ", ")
extracted skills
extracted_skills <- list()
for (i in seq_along(skills)) {
matches <- str_extract_all(skills[[i]], "(R\\s)|(?i)(Python|SoTA|NLP|Natural Language Processing|\\bAI|Artificial Intelligence|\\bML\\b|Machine Learning|PyTorch|Tensorflow|SQL|Power BI|Tableau|Data Visualization|Data Analysis|Statistical|statistic|Google|SAP|Github|Excel|Data Analysis|Statistical Analysis|Qualitative Research|Quantitative Research|Survey Design|Focus Group Moderation|Data Visualization|Report Writing|SPSS|Excel|Presentation Skills|SQL|SAS|Data Collection|Market Segmentation|Competitive Analysis|Customer Insight|Predictive Modeling|Tableau|Cross-tabulation|Ethnographic Research|Multivariate Analysis|Data Interpretation|Questionnaire Design|Python|A/B Testing|Project Management|Communication Skills|Consumer Behavior Analysis)")
extracted_skills[[i]] <- paste(unlist(matches), collapse = ", ")
}
library(stringr)
extracted_skills <- list()
for (i in seq_along(skills)) {
matches <- str_extract_all(skills[[i]], "(R\\s)|(?i)(Python|SoTA|NLP|Natural Language Processing|\\bAI\\b|Artificial Intelligence|\\bML\\b|Machine Learning|PyTorch|Tensorflow|SQL|Power BI|Tableau|Data Visualization|Data Analysis|Statistical|statistic|Google|SAP|Github|Excel|Statistical Analysis|Qualitative Research|Quantitative Research|Survey Design|Focus Group Moderation|Report Writing|SPSS|Presentation Skills|SAS|Data Collection|Market Segmentation|Competitive Analysis|Customer Insight|Predictive Modeling|Cross-tabulation|Ethnographic Research|Multivariate Analysis|Data Interpretation|Questionnaire Design|A/B Testing|Project Management|Communication Skills|Consumer Behavior Analysis)")
extracted_skills[[i]] <- paste(unlist(matches), collapse = ", ")
}
relabelled_skills <- lapply(extracted_skills, function(skill) {
skill <- str_replace_all(skill, "(?i)(Python|PyTorch|Tensorflow)", "Python")
skill <- str_replace_all(skill, "(?i)(\\bAI\\b|Artificial Intelligence)", "AI")
skill <- str_replace_all(skill, "(?i)(\\bML\\b|ML\\s|Machine Learning|Predictive Modeling)", "ML")
skill <- str_replace_all(skill, "(?i)(Natural Language Processing|\\bNLP\\b)", "NLP")
skill <- str_replace_all(skill, "(?i)Data Visualization", "Data Viz")
skill <- str_replace_all(skill, "(?i)(Data Analysis|Data Interpretation)", "Data Analysis")
skill <- str_replace_all(skill, "(?i)(Statistical|statistic|Cross-tabulation|Multivariate Analysis)", "Stat Analysis")
skill <- str_replace_all(skill, "(?i)(Qualitative Research|Ethnographic Research|Focus Group Moderation)", "Qual Research")
skill <- str_replace_all(skill, "(?i)(Quantitative Research|Survey Design)", "Quant Research")
skill <- str_replace_all(skill, "(?i)(Excel)", "Excel")
skill <- str_replace_all(skill, "(?i)Presentation Skills", "Presentation")
skill <- str_replace_all(skill, "(?i)(Data Collection|Data Entry)", "Data Collection")
skill <- str_replace_all(skill, "(?i)Questionnaire Design", "Questionnaire")
skill <- str_replace_all(skill, "(?i)A/B Testing", "A/B Testing")
skill <- str_replace_all(skill, "(?i)Project Management", "Proj Management")
skill <- str_replace_all(skill, "(?i)Communication Skills", "Communication")
skill <- str_replace_all(skill, "R|R\\s", "Communication")
return(skill)
})
##Years of Experience
library(stringr)
# 1. Extract years of experience details
years_experience <- list()
for (i in seq_along(job_req)) {
matches <- str_extract_all(job_req[[i]], "(?i)\\d+-?\\d*\\+?\\s*year((')?s)?")
years_experience[[i]] <- paste(unlist(matches), collapse = ", ")
}
# 2. Cleaning up years_experience
years_experience <- lapply(years_experience, function(x) {
x <- str_remove_all(x, "(\\d{2}\\+?)|(years|year)")
x <- str_replace_all(x, "[-+]", "")
return(x)
})
# 3. Calculate the average of digits in each string
calculate_average <- function(x) {
digits <- unlist(str_extract_all(x, "\\d")) # Extract individual digits
if(length(digits) == 0) return(NA) # Handle cases with no digits
sum(as.numeric(digits)) / length(digits)
}
years_experience <- lapply(years_experience, calculate_average)
years_experience <- as.numeric(years_experience)
extract In-person, Remote, or Hybrid strings
work_environment <- list()
# First loop to find matches
for (i in seq_along(job_req)) {
matches <- str_extract_all(job_req[[i]], "(?i)(Remote|In-Person|In Person|On-Location|On location|Hybrid)")
if(length(unlist(matches)) == 0) {
work_environment[[i]] <- "In-Person"
} else {
work_environment[[i]] <- paste(unlist(matches), collapse = ", ")
}
}
# String replacements
work_environment <- lapply(work_environment, function(location) {
location <- str_replace_all(location, "(?i)(In-Person|In Person|On-Location|On location)", "In Person")
location <- str_replace_all(location, "(?i)(Remote|remote)", "Remote")
location <- str_replace_all(location, "(?i)(Hybrid|hybrid)", "Hybrid")
return(location)
})
work_environment
## [[1]]
## [1] "In Person"
##
## [[2]]
## [1] "In Person"
##
## [[3]]
## [1] "In Person"
##
## [[4]]
## [1] "In Person"
##
## [[5]]
## [1] "In Person"
##
## [[6]]
## [1] "In Person"
##
## [[7]]
## [1] "In Person"
##
## [[8]]
## [1] "In Person"
##
## [[9]]
## [1] "In Person"
##
## [[10]]
## [1] "In Person"
##
## [[11]]
## [1] "In Person"
##
## [[12]]
## [1] "In Person"
##
## [[13]]
## [1] "In Person"
##
## [[14]]
## [1] "Hybrid"
##
## [[15]]
## [1] "In Person"
##
## [[16]]
## [1] "Hybrid, Remote"
##
## [[17]]
## [1] "Remote, In Person, Remote"
##
## [[18]]
## [1] "In Person"
##
## [[19]]
## [1] "In Person"
##
## [[20]]
## [1] "In Person"
##
## [[21]]
## [1] "Hybrid"
##
## [[22]]
## [1] "In Person"
##
## [[23]]
## [1] "Hybrid, Remote"
##
## [[24]]
## [1] "Remote"
##
## [[25]]
## [1] "In Person"
##
## [[26]]
## [1] "In Person"
##
## [[27]]
## [1] "In Person"
##
## [[28]]
## [1] "Hybrid"
##
## [[29]]
## [1] "In Person"
##
## [[30]]
## [1] "In Person"
##
## [[31]]
## [1] "In Person"
##
## [[32]]
## [1] "In Person"
##
## [[33]]
## [1] "Hybrid, In Person, Remote"
##
## [[34]]
## [1] "In Person"
##
## [[35]]
## [1] "In Person"
##
## [[36]]
## [1] "In Person"
##
## [[37]]
## [1] "In Person"
##
## [[38]]
## [1] "Hybrid, Remote, Remote"
##
## [[39]]
## [1] "Remote"
##
## [[40]]
## [1] "In Person"
##
## [[41]]
## [1] "In Person"
##
## [[42]]
## [1] "Hybrid"
##
## [[43]]
## [1] "In Person"
##
## [[44]]
## [1] "In Person"
##
## [[45]]
## [1] "In Person"
##
## [[46]]
## [1] "Remote, In Person, Remote"
##
## [[47]]
## [1] "In Person"
##
## [[48]]
## [1] "In Person"
##
## [[49]]
## [1] "Remote, Remote"
##
## [[50]]
## [1] "In Person"
##
## [[51]]
## [1] "In Person"
##
## [[52]]
## [1] "In Person"
##
## [[53]]
## [1] "In Person"
##
## [[54]]
## [1] "In Person"
##
## [[55]]
## [1] "Hybrid"
##
## [[56]]
## [1] "In Person"
##
## [[57]]
## [1] "In Person"
##
## [[58]]
## [1] "Hybrid, Remote"
##
## [[59]]
## [1] "Hybrid, Remote"
##
## [[60]]
## [1] "In Person, Remote, Remote, Remote"
##
## [[61]]
## [1] "Hybrid, Remote"
##
## [[62]]
## [1] "In Person"
##
## [[63]]
## [1] "In Person"
##
## [[64]]
## [1] "In Person"
##
## [[65]]
## [1] "Hybrid"
##
## [[66]]
## [1] "Hybrid, Remote"
##
## [[67]]
## [1] "Remote, In Person, Remote"
##
## [[68]]
## [1] "In Person"
##
## [[69]]
## [1] "In Person"
##
## [[70]]
## [1] "In Person"
##
## [[71]]
## [1] "Hybrid"
##
## [[72]]
## [1] "Remote"
##
## [[73]]
## [1] "In Person"
##
## [[74]]
## [1] "In Person"
##
## [[75]]
## [1] "In Person"
##
## [[76]]
## [1] "In Person"
##
## [[77]]
## [1] "In Person"
##
## [[78]]
## [1] "In Person"
##
## [[79]]
## [1] "In Person"
##
## [[80]]
## [1] "Remote, Hybrid"
##
## [[81]]
## [1] "In Person"
##
## [[82]]
## [1] "Hybrid, In Person, In Person, Hybrid"
##
## [[83]]
## [1] "In Person"
##
## [[84]]
## [1] "Hybrid"
##
## [[85]]
## [1] "Hybrid, In Person, Remote"
##
## [[86]]
## [1] "In Person"
##
## [[87]]
## [1] "Hybrid, Hybrid, Hybrid"
##
## [[88]]
## [1] "Hybrid"
##
## [[89]]
## [1] "Remote"
##
## [[90]]
## [1] "In Person"
##
## [[91]]
## [1] "In Person"
##
## [[92]]
## [1] "Hybrid"
##
## [[93]]
## [1] "In Person"
##
## [[94]]
## [1] "In Person"
##
## [[95]]
## [1] "Hybrid"
##
## [[96]]
## [1] "In Person"
##
## [[97]]
## [1] "In Person"
##
## [[98]]
## [1] "In Person"
##
## [[99]]
## [1] "In Person"
##
## [[100]]
## [1] "Remote, Hybrid"
##
## [[101]]
## [1] "In Person"
##
## [[102]]
## [1] "Hybrid, In Person, In Person, Hybrid"
##
## [[103]]
## [1] "Hybrid, In Person, Remote"
##
## [[104]]
## [1] "In Person"
##
## [[105]]
## [1] "Hybrid"
##
## [[106]]
## [1] "Remote"
##
## [[107]]
## [1] "In Person"
##
## [[108]]
## [1] "In Person"
##
## [[109]]
## [1] "In Person"
##
## [[110]]
## [1] "In Person"
##
## [[111]]
## [1] "In Person"
##
## [[112]]
## [1] "Hybrid"
##
## [[113]]
## [1] "In Person"
##
## [[114]]
## [1] "In Person"
##
## [[115]]
## [1] "Remote"
##
## [[116]]
## [1] "Hybrid, Remote, Remote"
##
## [[117]]
## [1] "In Person"
##
## [[118]]
## [1] "Remote"
##
## [[119]]
## [1] "In Person"
##
## [[120]]
## [1] "In Person"
extract Entry-level, Associate, Junior, or Senior strings. the identification of what positions are under what seniority level was determined by referencing the Indeed article: https://www.indeed.com/career-advice/career-development/seniority-level
# Define a function to get pay data that handles missing values
seniority_lvl <- list()
for (i in seq_along(job_req)) {
matches <- str_extract_all(job_req[[i]], "(?i)(Entry|Assistant|Intern|Trainee|Associate|Manager|Lead |Officer|Supervisor|Junior|Senior|Executive|\\bVP|Vice President|Architect)")
capitalized_matches <- unlist(str_extract_all(unlist(matches), "\\b[A-Z][a-z]*\\b"))
seniority_lvl <- str_remove_all(seniority_lvl, ",.*")
seniority_lvl[[i]] <- paste(capitalized_matches, collapse = ", ")
}
head(seniority_lvl)
## [1] "Junior" "" "Manager" "" "" ""
#back up seniority data from alternative method
seniority_lvlX <- list()
for (i in seq_along(positions)) {
matches <- str_extract_all(positions[[i]], "(?i)(Entry|Assistant|Intern |Trainee|Associate|Manager|Lead |Officer|Supervisor|Junior|Senior|Executive|\\bVP|Vice President|Architect)")
capitalized_matches <- unlist(str_extract_all(unlist(matches), "\\b[A-Z][a-z]*\\b"))
seniority_lvlX <- str_remove_all(seniority_lvlX, ",.*")
seniority_lvlX[[i]] <- paste(capitalized_matches, collapse = ", ")
}
head(seniority_lvlX)
## [1] "" "" "" "" "" "Senior"
#filling in some missing data
for (i in seq_along(seniority_lvl)) {
if (trimws(seniority_lvl[[i]]) == "") {
seniority_lvl[[i]] <- seniority_lvlX[[i]]
}
}
#relabeling seniority data
relabelled_seniority_lvl <- lapply(seniority_lvl, function(role) {
ifelse(role %in% c("Entry", "Intern", "Trainee", "Assistant", "Junior"), "Entry-Level",
ifelse(role %in% c("Associate", "Lead", "Supervisor", "Architect"), "Mid-Level",
ifelse(role %in% c("Senior", "Manager"), "Senior-Level", "Undefined")))
})
# Convert list to a character vector if necessary
relabelled_seniority_lvl <- unlist(relabelled_seniority_lvl)
relabelled_seniority_lvl
## [1] "Entry-Level" "Undefined" "Senior-Level" "Undefined" "Undefined"
## [6] "Senior-Level" "Mid-Level" "Undefined" "Entry-Level" "Entry-Level"
## [11] "Undefined" "Entry-Level" "Entry-Level" "Senior-Level" "Mid-Level"
## [16] "Senior-Level" "Senior-Level" "Undefined" "Senior-Level" "Mid-Level"
## [21] "Undefined" "Undefined" "Senior-Level" "Undefined" "Undefined"
## [26] "Entry-Level" "Entry-Level" "Senior-Level" "Undefined" "Undefined"
## [31] "Undefined" "Mid-Level" "Mid-Level" "Senior-Level" "Mid-Level"
## [36] "Undefined" "Senior-Level" "Undefined" "Undefined" "Undefined"
## [41] "Entry-Level" "Mid-Level" "Undefined" "Entry-Level" "Undefined"
## [46] "Senior-Level" "Mid-Level" "Undefined" "Undefined" "Undefined"
## [51] "Undefined" "Senior-Level" "Undefined" "Mid-Level" "Undefined"
## [56] "Mid-Level" "Entry-Level" "Senior-Level" "Senior-Level" "Senior-Level"
## [61] "Senior-Level" "Senior-Level" "Undefined" "Undefined" "Senior-Level"
## [66] "Senior-Level" "Senior-Level" "Undefined" "Senior-Level" "Mid-Level"
## [71] "Undefined" "Undefined" "Entry-Level" "Undefined" "Undefined"
## [76] "Senior-Level" "Entry-Level" "Senior-Level" "Undefined" "Undefined"
## [81] "Undefined" "Mid-Level" "Senior-Level" "Senior-Level" "Mid-Level"
## [86] "Mid-Level" "Undefined" "Mid-Level" "Undefined" "Mid-Level"
## [91] "Undefined" "Senior-Level" "Senior-Level" "Mid-Level" "Undefined"
## [96] "Entry-Level" "Undefined" "Senior-Level" "Undefined" "Undefined"
## [101] "Undefined" "Mid-Level" "Mid-Level" "Mid-Level" "Mid-Level"
## [106] "Undefined" "Undefined" "Mid-Level" "Entry-Level" "Undefined"
## [111] "Undefined" "Undefined" "Mid-Level" "Senior-Level" "Undefined"
## [116] "Undefined" "Undefined" "Senior-Level" "Undefined" "Undefined"
positions <- str_remove_all(positions, "\\|.*")
##Unlisting to create a dataframe
work_environment <- unlist(work_environment)
relabelled_skills <- unlist(relabelled_skills)
years_experience <- unlist(years_experience)
pay <- unlist(pay)
min_pay <- unlist(min_pay)
max_pay <- unlist(max_pay)
degree <- unlist(degree)
major <- unlist(major)
##Creating a dataframe
data <- data.frame(positions, relabelled_seniority_lvl, company_name, location, work_environment, pay, min_pay, max_pay, degree, major, relabelled_skills, years_experience, job_urls)
data
## positions
## 1 Institutional Marketing Analyst
## 2 Media & Social Analyst
## 3 Equity Quantitative Research
## 4 Quantitative Researcher - Electronic Market Making
## 5 Market Research Analyst
## 6 Senior Machine Learning Researcher - Sales Intelligence
## 7 Quantitative Researcher
## 8 Marketing Insights Researcher - Business
## 9 Market Research Analyst
## 10 Researcher - CBS Sports (Freelance)
## 11 IEG - Graphics Researcher
## 12 Junior Quant Researcher
## 13 Market Research Analyst
## 14 Product Researcher
## 15 Market Research Associate
## 16 Commodity Researcher
## 17 Market Research Project Manager
## 18 Quantitative Researcher
## 19 IEG - Senior Graphics Researcher
## 20 Player Experience Researcher
## 21 Performance and Insights Analyst
## 22 Delta-One Quant Researcher
## 23 Manager, Human Insights (Qualitative Market Researcher)
## 24 QUALITATIVE ANALYST
## 25 Quantitative Researcher - Investment Management
## 26 RESEARCH ASSISTANT/MARKET ANALYST
## 27 Delivery Consultant / Researcher – Quant Recruitment (London & New York)
## 28 eCommerce Digital Analyst
## 29 Quantitative Researcher
## 30 Quantitative Researcher (Mid-Freq)
## 31 Marketing Insights Researcher - Business
## 32 Market Intelligence Analyst
## 33 Research Lead, The Athletic
## 34 Senior Analyst, Subscriber Planning and Analysis
## 35 Provenance Researcher, Egyptian Art [End dated]
## 36 Product & Market Analyst
## 37 Quantitative Researcher - High Frequency Trading
## 38 Temporary Researcher on Hegemonic vs. Subaltern Solutions to Earth Crisis
## 39 QUALITATIVE ANALYST
## 40 Quantitative Researcher
## 41 Delivery Consultant / Researcher – Quant Recruitment (London & New York)
## 42 Manager, Media Analytics and Market Research
## 43 Quantitative Researcher - Investment Management
## 44 Researcher - CBS Sports (Freelance)
## 45 Quantitative Researcher (Mid-Freq)
## 46 Market Research Project Manager
## 47 IT Retail Analyst
## 48 Delta-One Quant Researcher
## 49 S&P Global Market Intelligence Roles - NBMBAA Career Expo
## 50 IEG - Graphics Researcher
## 51 Data Researcher
## 52 IEG - Senior Graphics Researcher
## 53 Quantitative Researcher
## 54 Player Experience Researcher
## 55 Performance and Insights Analyst
## 56 Lead UX Researcher, Growth (Monetization)
## 57 Junior Portfolio Manager
## 58 Commodity Researcher
## 59 Competitive Intelligence Analyst
## 60 Temporary Finance Retail Analyst, N Ventures
## 61 Senior Talent Aquisition Marketing Analyst
## 62 Applied LLM Researcher - Code - CTO Office
## 63 Marketing Insights Researcher - Business
## 64 IEG - Graphics Researcher
## 65 Product Researcher
## 66 Commodity Researcher
## 67 Market Research Project Manager
## 68 Quantitative Researcher
## 69 IEG - Senior Graphics Researcher
## 70 Player Experience Researcher
## 71 Performance and Insights Analyst
## 72 QUALITATIVE ANALYST
## 73 RESEARCH ASSISTANT/MARKET ANALYST
## 74 Quantitative Researcher (Mid-Freq)
## 75 Quantitative Researcher
## 76 Marketing Analyst
## 77 Junior Portfolio Manager
## 78 Quantitative Researcher - High Frequency Trading
## 79 Analyst - Media Strategy & Analytics
## 80 Marketing Analyst
## 81 Marketing Analyst
## 82 Senior Analyst - Customer Paid Marketing
## 83 Analyst, Performance Media Analytics
## 84 Senior Secondary Market Analyst
## 85 Research Lead, The Athletic
## 86 Provenance Researcher, Egyptian Art [End dated]
## 87 Global Director of Competitive Intelligence
## 88 Manager, Media Analytics and Market Research
## 89 Marketing Data Analyst
## 90 Market Intelligence Analyst
## 91 Marketing Insights Researcher - Business
## 92 Product Researcher
## 93 IEG - Senior Graphics Researcher
## 94 Player Experience Researcher
## 95 Performance and Insights Analyst
## 96 RESEARCH ASSISTANT/MARKET ANALYST
## 97 Quantitative Researcher (Mid-Freq)
## 98 Marketing Analyst
## 99 Analyst - Media Strategy & Analytics
## 100 Marketing Analyst
## 101 Marketing Analyst
## 102 Senior Analyst - Customer Paid Marketing
## 103 Research Lead, The Athletic
## 104 Provenance Researcher, Egyptian Art [End dated]
## 105 Manager, Media Analytics and Market Research
## 106 Marketing Data Analyst
## 107 Machine Learning Scientist
## 108 Lead UX Researcher, Growth (Monetization)
## 109 Marketing Analyst
## 110 Quantitative Researcher
## 111 Analyst, Marketing Science
## 112 Machine Learning Force Fields Scientist (Materials Science)
## 113 Marketing Research Analyst
## 114 Senior Analyst, Subscriber Planning and Analysis
## 115 Founding Product Designer & Strategist
## 116 Temporary Researcher on Hegemonic vs. Subaltern Solutions to Earth Crisis
## 117 Principal UX Researcher, Automotive
## 118 Covenants Analyst
## 119 Large Language Model Research Scientist
## 120 Managing Editor
## relabelled_seniority_lvl company_name
## 1 Entry-Level Macquarie Group Limited
## 2 Undefined TikTok
## 3 Senior-Level Citadel Enterprise Americas
## 4 Undefined Bluesky Capital Advisors
## 5 Undefined iHeartMedia, Inc.
## 6 Senior-Level Bloomberg
## 7 Mid-Level Millennium Management LLC
## 8 Undefined Meta
## 9 Entry-Level ParsBEM Consultants
## 10 Entry-Level CBS Sports
## 11 Undefined Tencent
## 12 Entry-Level fionics (HIRECLOUT)
## 13 Entry-Level SVAM International Inc.
## 14 Senior-Level Lisse USA
## 15 Mid-Level Scholastic
## 16 Senior-Level MIO Partners
## 17 Senior-Level Market Probe International Inc
## 18 Undefined IEX Group
## 19 Senior-Level Tencent
## 20 Mid-Level Bally's Interactive
## 21 Undefined FanDuel
## 22 Undefined Executive Placement Network
## 23 Senior-Level Known
## 24 Undefined Precision Consulting
## 25 Undefined Bluesky Capital Advisors
## 26 Entry-Level Wall Street Strategies
## 27 Entry-Level Durlston Partners
## 28 Senior-Level David Yurman
## 29 Undefined AllianceBernstein
## 30 Undefined Hudson River Trading
## 31 Undefined Meta
## 32 Mid-Level Neuberger Berman
## 33 Mid-Level The New York Times
## 34 Senior-Level Sirius XM
## 35 Mid-Level The Metropolitan Museum of Art
## 36 Undefined Peking Linen
## 37 Senior-Level Executive Placement Network
## 38 Undefined The New School
## 39 Undefined Precision Consulting
## 40 Undefined Hap Capital
## 41 Entry-Level Durlston Partners
## 42 Mid-Level Subject Matter
## 43 Undefined Bluesky Capital Advisors
## 44 Entry-Level CBS Sports
## 45 Undefined Hudson River Trading
## 46 Senior-Level Market Probe International Inc
## 47 Mid-Level Fashion Group
## 48 Undefined Executive Placement Network
## 49 Undefined S&P Global
## 50 Undefined Tencent
## 51 Undefined Munich Re America Services
## 52 Senior-Level Tencent
## 53 Undefined AllianceBernstein
## 54 Mid-Level Bally's Interactive
## 55 Undefined FanDuel
## 56 Mid-Level Match Group
## 57 Entry-Level Equi
## 58 Senior-Level MIO Partners
## 59 Senior-Level Akin Gump Strauss Hauer & Feld LLP
## 60 Senior-Level The New School
## 61 Senior-Level Arrow Security
## 62 Senior-Level Bloomberg
## 63 Undefined Meta
## 64 Undefined Tencent
## 65 Senior-Level Lisse USA
## 66 Senior-Level MIO Partners
## 67 Senior-Level Market Probe International Inc
## 68 Undefined IEX Group
## 69 Senior-Level Tencent
## 70 Mid-Level Bally's Interactive
## 71 Undefined FanDuel
## 72 Undefined Precision Consulting
## 73 Entry-Level Wall Street Strategies
## 74 Undefined Hudson River Trading
## 75 Undefined Hap Capital
## 76 Senior-Level Kwontified
## 77 Entry-Level Equi
## 78 Senior-Level Executive Placement Network
## 79 Undefined AMC Networks Inc.
## 80 Undefined Qloo
## 81 Undefined Hornblower New York LLC
## 82 Mid-Level Amex
## 83 Senior-Level Horizon Media, Inc.
## 84 Senior-Level United Nations Federal Credit Union
## 85 Mid-Level The New York Times
## 86 Mid-Level The Metropolitan Museum of Art
## 87 Undefined SS&C
## 88 Mid-Level Subject Matter
## 89 Undefined Veeva Systems
## 90 Mid-Level Neuberger Berman
## 91 Undefined Meta
## 92 Senior-Level Lisse USA
## 93 Senior-Level Tencent
## 94 Mid-Level Bally's Interactive
## 95 Undefined FanDuel
## 96 Entry-Level Wall Street Strategies
## 97 Undefined Hudson River Trading
## 98 Senior-Level Kwontified
## 99 Undefined AMC Networks Inc.
## 100 Undefined Qloo
## 101 Undefined Hornblower New York LLC
## 102 Mid-Level Amex
## 103 Mid-Level The New York Times
## 104 Mid-Level The Metropolitan Museum of Art
## 105 Mid-Level Subject Matter
## 106 Undefined Veeva Systems
## 107 Undefined Immunai
## 108 Mid-Level Match Group
## 109 Entry-Level TransPerfect
## 110 Undefined Kernel Trading Technologies LP
## 111 Undefined Annalect
## 112 Undefined Schrödinger
## 113 Mid-Level Goya Foods Inc.
## 114 Senior-Level Sirius XM
## 115 Undefined Tephra Labs
## 116 Undefined The New School
## 117 Undefined Amazon.com Services LLC
## 118 Senior-Level Reorg Research
## 119 Undefined Schrödinger
## 120 Undefined Oxford Economics
## location work_environment
## 1 New York, NY In Person
## 2 New York, NY In Person
## 3 New York, NY In Person
## 4 New York, NY In Person
## 5 New York, NY In Person
## 6 New York, NY In Person
## 7 New York, NY In Person
## 8 New York, NY In Person
## 9 New York, NY In Person
## 10 New York, NY In Person
## 11 United States In Person
## 12 New York, NY In Person
## 13 New York, NY In Person
## 14 Brooklyn, NY Hybrid
## 15 New York, NY In Person
## 16 New York, NY Hybrid, Remote
## 17 New York, NY Remote, In Person, Remote
## 18 New York, NY In Person
## 19 United States In Person
## 20 Jersey City, NJ In Person
## 21 New York, NY Hybrid
## 22 New York, NY In Person
## 23 New York, NY Hybrid, Remote
## 24 New York, NY Remote
## 25 New York, NY In Person
## 26 Jersey City, NJ In Person
## 27 New York, NY In Person
## 28 New York, NY Hybrid
## 29 New York, NY In Person
## 30 New York, NY In Person
## 31 New York, NY In Person
## 32 New York, NY In Person
## 33 New York, NY Hybrid, In Person, Remote
## 34 New York, NY In Person
## 35 New York, NY In Person
## 36 New York, NY In Person
## 37 New York, NY In Person
## 38 New York, NY Hybrid, Remote, Remote
## 39 New York, NY Remote
## 40 United States In Person
## 41 New York, NY In Person
## 42 New York, NY Hybrid
## 43 New York, NY In Person
## 44 New York, NY In Person
## 45 New York, NY In Person
## 46 New York, NY Remote, In Person, Remote
## 47 New York, NY In Person
## 48 New York, NY In Person
## 49 New York, NY Remote, Remote
## 50 United States In Person
## 51 New York, NY In Person
## 52 United States In Person
## 53 New York, NY In Person
## 54 Jersey City, NJ In Person
## 55 New York, NY Hybrid
## 56 New York, NY In Person
## 57 New York, NY In Person
## 58 New York, NY Hybrid, Remote
## 59 New York, NY Hybrid, Remote
## 60 New York, NY In Person, Remote, Remote, Remote
## 61 New York, NY Hybrid, Remote
## 62 New York, NY In Person
## 63 New York, NY In Person
## 64 United States In Person
## 65 Brooklyn, NY Hybrid
## 66 New York, NY Hybrid, Remote
## 67 New York, NY Remote, In Person, Remote
## 68 New York, NY In Person
## 69 United States In Person
## 70 Jersey City, NJ In Person
## 71 New York, NY Hybrid
## 72 New York, NY Remote
## 73 Jersey City, NJ In Person
## 74 New York, NY In Person
## 75 United States In Person
## 76 New York, NY In Person
## 77 New York, NY In Person
## 78 New York, NY In Person
## 79 New York, NY In Person
## 80 New York, NY Remote, Hybrid
## 81 New York, NY In Person
## 82 New York, NY Hybrid, In Person, In Person, Hybrid
## 83 New York, NY In Person
## 84 Long Island City, NY Hybrid
## 85 New York, NY Hybrid, In Person, Remote
## 86 New York, NY In Person
## 87 New York, NY Hybrid, Hybrid, Hybrid
## 88 New York, NY Hybrid
## 89 New York, NY Remote
## 90 New York, NY In Person
## 91 New York, NY In Person
## 92 Brooklyn, NY Hybrid
## 93 United States In Person
## 94 Jersey City, NJ In Person
## 95 New York, NY Hybrid
## 96 Jersey City, NJ In Person
## 97 New York, NY In Person
## 98 New York, NY In Person
## 99 New York, NY In Person
## 100 New York, NY Remote, Hybrid
## 101 New York, NY In Person
## 102 New York, NY Hybrid, In Person, In Person, Hybrid
## 103 New York, NY Hybrid, In Person, Remote
## 104 New York, NY In Person
## 105 New York, NY Hybrid
## 106 New York, NY Remote
## 107 New York, NY In Person
## 108 New York, NY In Person
## 109 New York, NY In Person
## 110 New York, NY In Person
## 111 New York, NY In Person
## 112 New York, NY Hybrid
## 113 Jersey City, NJ In Person
## 114 New York, NY In Person
## 115 New York, NY Remote
## 116 New York, NY Hybrid, Remote, Remote
## 117 New York, NY In Person
## 118 New York, NY Remote
## 119 New York, NY In Person
## 120 New York, NY In Person
## pay min_pay max_pay degree
## 1 $60,000-$75,000 60000 75000 <NA>
## 2 $66,000-$80,000 66000 80000 <NA>
## 3 $175,000-$300,000 175000 300000 Bachelor
## 4 $52,000-$71,000 52000 71000 advanced degree
## 5 $165,000-$260,000 165000 260000 Bachelor
## 6 $160,000-$250,000 160000 250000 <NA>
## 7 $154,000-$216,000 154000 216000 <NA>
## 8 $55,000-$87,000 55000 87000 <NA>
## 9 $56,000-$62,000 56000 62000 <NA>
## 10 $90,000-$179,000 90000 179000 Bachelor
## 11 $150,000-$300,000 150000 300000 <NA>
## 12 $59,000-$96,000 59000 96000 Master
## 13 $19.00-$23.00 39520 47840 Master
## 14 $55,000-$64,000 55000 64000 <NA>
## 15 $88,000-$127,000 88000 127000 <NA>
## 16 $70,000-$75,000 70000 75000 bachelor
## 17 $175,000-$225,000 175000 225000 Bachelor
## 18 $145,000-$266,000 145000 266000 <NA>
## 19 $50,000-$55,000 50000 55000 Master's
## 20 $52,000-$72,000 52000 72000 <NA>
## 21 $175,000-$250,000 175000 250000 Bachelor's
## 22 $85,000-$115,000 85000 115000 Advanced degree
## 23 $68,000-$109,000 68000 109000 <NA>
## 24 $54,000-$83,000 54000 83000 bachelor
## 25 $130,000-$211,000 130000 211000 advanced degree
## 26 $65,000-$70,000 65000 70000 <NA>
## 27 $90,000-$120,000 90000 120000 <NA>
## 28 $175,000-$300,000 175000 300000 <NA>
## 29 $90,000-$120,000 90000 120000 <NA>
## 30 $175,000-$175,000to$300,000 175000 175000 <NA>
## 31 $154,000-$216,000 154000 216000 <NA>
## 32 $70,000-$90,000 70000 90000 Bachelor
## 33 $125,000-$145,000 125000 145000 Bachelor's
## 34 $73,000-$98,000 73000 98000 Bachelor
## 35 $95,000-$120,000 95000 120000 <NA>
## 36 $75,000-$133,000 75000 133000 Bachelor
## 37 $150,000-$250,000 150000 250000 Master's
## 38 $28.00-$28.00 58240 58240 master
## 39 $68,000-$109,000 68000 109000 bachelor
## 40 $150,000-$250,000 150000 250000 <NA>
## 41 $130,000-$211,000 130000 211000 <NA>
## 42 $76,000-$118,000 76000 118000 <NA>
## 43 $56,000-$62,000 56000 62000 advanced degree
## 44 $175,000-$300,000 175000 300000 Bachelor
## 45 $70,000-$75,000 70000 75000 <NA>
## 46 $80,000-$90,000 80000 90000 Bachelor
## 47 $175,000-$250,000 175000 250000 <NA>
## 48 $87,000-$143,000 87000 143000 Advanced degree
## 49 $90,000-$179,000 90000 179000 Bachelor
## 50 $53,000-$86,000 53000 86000 <NA>
## 51 $145,000-$266,000 145000 266000 <NA>
## 52 $90,000-$120,000 90000 120000 Master's
## 53 $50,000-$55,000 50000 55000 <NA>
## 54 $52,000-$72,000 52000 72000 <NA>
## 55 $198,000-$237,000 198000 237000 Bachelor's
## 56 $110,000-$180,000 110000 180000 Master
## 57 $88,000-$127,000 88000 127000 Bachelor's
## 58 $40.00-$45.00 83200 93600 bachelor
## 59 95,000-95,000to$120,000 95000 95000 Bachelor
## 60 character(0) character(0) Bachelor
## 61 $80,000-$110,000 80000 110000 Bachelor's
## 62 $240,000-$330,000 240000 330000 <NA>
## 63 $154,000-$216,000 154000 216000 <NA>
## 64 $90,000-$179,000 90000 179000 <NA>
## 65 $19.00-$23.00 39520 47840 <NA>
## 66 $88,000-$127,000 88000 127000 bachelor
## 67 $70,000-$75,000 70000 75000 Bachelor
## 68 $175,000-$225,000 175000 225000 <NA>
## 69 $145,000-$266,000 145000 266000 Master's
## 70 $50,000-$55,000 50000 55000 <NA>
## 71 $52,000-$72,000 52000 72000 Bachelor's
## 72 $68,000-$109,000 68000 109000 bachelor
## 73 $54,000-$83,000 54000 83000 <NA>
## 74 $175,000-$300,000 175000 300000 <NA>
## 75 $150,000-$250,000 150000 250000 <NA>
## 76 $61,000-$98,000 61000 98000 Bachelor's
## 77 $110,000-$180,000 110000 180000 Bachelor's
## 78 $150,000-$250,000 150000 250000 Master's
## 79 $65,000-$75,000 65000 75000 <NA>
## 80 $60,000-$65,000 60000 65000 Bachelor's
## 81 $55,000-$105,000 55000 105000 Bachelor
## 82 $59,000-$75,000 59000 75000 Bachelor
## 83 $95,000-$105,000 95000 105000 Bachelor
## 84 $125,000-$145,000 125000 145000 Bachelor
## 85 $95,000-$120,000 95000 120000 Bachelor's
## 86 $139,000-$189,000 139000 189000 <NA>
## 87 $76,000-$118,000 76000 118000 <NA>
## 88 $65,000-$75,000 65000 75000 <NA>
## 89 $70,000-$90,000 70000 90000 Bachelor
## 90 $70,000-$90,000 70000 90000 Bachelor
## 91 $154,000-$216,000 154000 216000 <NA>
## 92 $19.00-$23.00 39520 47840 <NA>
## 93 $145,000-$266,000 145000 266000 Master's
## 94 $50,000-$55,000 50000 55000 <NA>
## 95 $52,000-$72,000 52000 72000 Bachelor's
## 96 $54,000-$83,000 54000 83000 <NA>
## 97 $175,000-$300,000 175000 300000 <NA>
## 98 $61,000-$98,000 61000 98000 Bachelor's
## 99 $65,000-$75,000 65000 75000 <NA>
## 100 $60,000-$65,000 60000 65000 Bachelor's
## 101 $55,000-$105,000 55000 105000 Bachelor
## 102 $125,000-$145,000 125000 145000 Bachelor
## 103 $95,000-$120,000 95000 120000 Bachelor's
## 104 $76,000-$118,000 76000 118000 <NA>
## 105 $65,000-$75,000 65000 75000 <NA>
## 106 $96,000-$150,000 96000 150000 Bachelor
## 107 $198,000-$237,000 198000 237000 <NA>
## 108 $66,000-$70,000 66000 70000 Master
## 109 $92,000-$364,000 92000 364000 Bachelor
## 110 $53,000-$75,000 53000 75000 Advanced degree
## 111 $95,000-$143,000 95000 143000 Bachelor
## 112 $60,000-$70,000 60000 70000 <NA>
## 113 $73,000-$98,000 73000 98000 Bachelor
## 114 $180,000-$204,000 180000 204000 Bachelor
## 115 $28.00-$28.00 58240 58240 master
## 116 $145,000-$145,000 145000 145000 master
## 117 $64,000-$94,000 64000 94000 <NA>
## 118 $120,000-$175,000 120000 175000 <NA>
## 119 $120,000-$140,000 120000 140000 <NA>
## 120 $120,000-$120,000to$140,000 120000 120000 Bachelor
## major
## 1
## 2
## 3 Statistics, Mathematics, Operations Research, Economics, Statistics, Mathematics, Finance, Engineering, math
## 4 management
## 5
## 6
## 7
## 8
## 9
## 10
## 11
## 12
## 13 Marketing, Management, Business
## 14
## 15
## 16
## 17 communication, market research, Market Research
## 18
## 19
## 20
## 21 Math, business
## 22 mathematics, statistics, engineering
## 23
## 24
## 25 management
## 26
## 27
## 28
## 29
## 30
## 31
## 32
## 33 Psychology, Sociology, Anthropology, Economics
## 34
## 35
## 36 Business, Economics, Marketing
## 37 Mathematics, Statistics
## 38 economics
## 39
## 40
## 41
## 42
## 43 management
## 44
## 45
## 46 communication, market research, Market Research
## 47
## 48 mathematics, statistics, engineering
## 49 Finance, Economics, Finance, Economics, management, Economics, Finance, Business, Economics, Finance, Economics, Finance, Information Systems, Information Systems
## 50
## 51
## 52
## 53
## 54
## 55 Math, business
## 56 psychology, sociology, anthropology
## 57
## 58
## 59 Business, Economics
## 60 Finance, Economics
## 61
## 62
## 63
## 64
## 65
## 66
## 67 communication, market research, Market Research
## 68
## 69
## 70
## 71 Math, business
## 72
## 73
## 74
## 75
## 76 Marketing, Business, marketing, communication, Advertising, Marketing
## 77
## 78 Mathematics, Statistics
## 79
## 80 Marketing, Business, Statistics, Marketing
## 81 math, statistics, marketing, analytics
## 82
## 83
## 84
## 85 Psychology, Sociology, Anthropology, Economics
## 86
## 87
## 88
## 89
## 90
## 91
## 92
## 93
## 94
## 95 Math, business
## 96
## 97
## 98 Marketing, Business, marketing, communication, Advertising, Marketing
## 99
## 100 Marketing, Business, Statistics, Marketing
## 101 math, statistics, marketing, analytics
## 102
## 103 Psychology, Sociology, Anthropology, Economics
## 104
## 105
## 106
## 107
## 108 psychology, sociology, anthropology
## 109 Business, Marketing, business
## 110 Mathematics, Statistics, Engineering, statistics
## 111 statistics, mathematics, economics, engineering, management, social sciences, business, marketing
## 112
## 113 business
## 114
## 115
## 116 economics
## 117
## 118
## 119
## 120
## relabelled_skills
## 1
## 2 Stat Analysis
## 3 sAp, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Python
## 4 Stat Analysis, Stat Analysis, Stat Analysis, Excel, Python, Stat Analysis, sap
## 5 Excel, Excel, Excel
## 6 NLP, NLP, NLP, Python, SQL
## 7 sap, Stat Analysis, sap
## 8
## 9 Stat Analysis, Stat Analysis, SPSS, SAS
## 10 Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Excel, Excel, Excel
## 11 Excel, Python
## 12 Python
## 13
## 14 Excel
## 15 Stat Analysis, Excel, Excel
## 16 Excel
## 17 Excel, Excel, SPSS, Excel, Excel
## 18 Excel, Stat Analysis, Python, SQL, sap
## 19 Excel
## 20 Excel, Excel, Excel, Excel, Excel, Excel
## 21 SQL, Excel, Python, Tableau
## 22 Stat Analysis, Python, Excel, Excel, Stat Analysis
## 23
## 24 Excel
## 25 Stat Analysis, Stat Analysis, Stat Analysis, Excel, Python, Stat Analysis, sap
## 26 Excel, Excel, Excel, Excel, Excel
## 27 Excel
## 28 Excel, Stat Analysis
## 29 Stat Analysis, Stat Analysis, SQL, Python, Stat Analysis, sap
## 30 Stat Analysis, Stat Analysis, Python
## 31
## 32 Excel, Excel, Excel
## 33
## 34 Excel, SQL, Excel, Stat Analysis, SQL, sap, Excel, Excel, Excel
## 35 Excel, Excel
## 36 Excel, Excel, Excel, Excel
## 37 Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Python
## 38 Excel
## 39 Excel
## 40 Stat Analysis, Stat Analysis, Stat Analysis, ML, Python, Stat Analysis, Stat Analysis, ML, Stat Analysis
## 41 Excel
## 42 Excel, Excel, Google
## 43 Stat Analysis, Stat Analysis, Stat Analysis, Excel, Python, Stat Analysis, sap
## 44 Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Excel, Excel, Excel
## 45 Stat Analysis, Stat Analysis, Python
## 46 Excel, Excel, SPSS, Excel, Excel
## 47 Google
## 48 Stat Analysis, Python, Excel, Excel, Stat Analysis
## 49 Excel, Excel, Excel, SQL, Excel, Google, Excel, SQL, SQL, SQL, SQL, SQL, SQL
## 50 Excel, Python
## 51 Excel, SQL, Python, Excel
## 52 Excel
## 53 Stat Analysis, Stat Analysis, SQL, Python, Stat Analysis, sap
## 54 Excel, Excel, Excel, Excel, Excel, Excel
## 55 SQL, Excel, Python, Tableau
## 56 Excel, Stat Analysis
## 57 Excel, Excel, Excel, Excel, Excel, Python
## 58 Excel
## 59 Excel, Excel, sas, Excel
## 60 Excel, Google, Excel
## 61 Excel, Excel
## 62 Excel, github, AI, Excel
## 63
## 64 Excel, Python
## 65 Excel
## 66 Excel
## 67 Excel, Excel, SPSS, Excel, Excel
## 68 Excel, Stat Analysis, Python, SQL, sap
## 69 Excel
## 70 Excel, Excel, Excel, Excel, Excel, Excel
## 71 SQL, Excel, Python, Tableau
## 72 Excel
## 73 Excel, Excel, Excel, Excel, Excel
## 74 Stat Analysis, Stat Analysis, Python
## 75 Stat Analysis, Stat Analysis, Stat Analysis, ML, Python, Stat Analysis, Stat Analysis, ML, Stat Analysis
## 76 Excel, Excel, SQL, Google
## 77 Excel, Excel, Excel, Excel, Excel, Python
## 78 Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Python
## 79
## 80 Python, Stat Analysis, Python, sas, Excel
## 81 Excel, Stat Analysis, SQL, Python, Tableau, SQL, Excel, Excel, Google, Excel
## 82
## 83 Stat Analysis, Excel, SQL, Python, Tableau, Excel
## 84 Excel, Excel, Excel
## 85
## 86 Excel, Excel
## 87 Excel, Excel
## 88 Excel, Excel, Google
## 89 SQL, Excel, SQL
## 90 Excel, Excel, Excel
## 91
## 92 Excel
## 93 Excel
## 94 Excel, Excel, Excel, Excel, Excel, Excel
## 95 SQL, Excel, Python, Tableau
## 96 Excel, Excel, Excel, Excel, Excel
## 97 Stat Analysis, Stat Analysis, Python
## 98 Excel, Excel, SQL, Google
## 99
## 100 Python, Stat Analysis, Python, sas, Excel
## 101 Excel, Stat Analysis, SQL, Python, Tableau, SQL, Excel, Excel, Google, Excel
## 102
## 103
## 104 Excel, Excel
## 105 Excel, Excel, Google
## 106 SQL, Excel, SQL
## 107 Excel, sap, Python, Python, Excel
## 108 Excel, Stat Analysis
## 109 Google, Tableau, Google
## 110 Stat Analysis, Excel, Stat Analysis, Stat Analysis, Stat Analysis, Stat Analysis, Python, Stat Analysis
## 111 Stat Analysis, Google, Excel, Tableau, Excel, Excel, SQL
## 112 ML, Stat Analysis, Python, Python
## 113 Excel, SQL
## 114 Excel, SQL, Excel, Stat Analysis, SQL, sap, Excel, Excel, Excel
## 115 Google, sap, sas
## 116 Excel
## 117
## 118 Excel, sas
## 119 Python, Excel, Stat Analysis, Python
## 120 Stat Analysis, Stat Analysis, Stat Analysis, Excel
## years_experience
## 1 2.000000
## 2 NA
## 3 NA
## 4 NA
## 5 NA
## 6 3.000000
## 7 NA
## 8 3.000000
## 9 NA
## 10 NA
## 11 NA
## 12 1.500000
## 13 NA
## 14 1.666667
## 15 2.250000
## 16 3.000000
## 17 2.600000
## 18 NA
## 19 NA
## 20 NA
## 21 2.500000
## 22 3.000000
## 23 4.000000
## 24 NA
## 25 4.000000
## 26 NA
## 27 NA
## 28 NA
## 29 2.000000
## 30 3.000000
## 31 3.000000
## 32 2.000000
## 33 3.250000
## 34 2.000000
## 35 2.000000
## 36 2.000000
## 37 3.000000
## 38 NA
## 39 NA
## 40 NA
## 41 NA
## 42 5.000000
## 43 4.000000
## 44 NA
## 45 3.000000
## 46 2.600000
## 47 NA
## 48 3.000000
## 49 3.333333
## 50 NA
## 51 3.000000
## 52 NA
## 53 2.000000
## 54 NA
## 55 2.500000
## 56 3.666667
## 57 5.000000
## 58 3.000000
## 59 5.000000
## 60 1.000000
## 61 5.000000
## 62 NA
## 63 3.000000
## 64 NA
## 65 1.666667
## 66 3.000000
## 67 2.600000
## 68 NA
## 69 NA
## 70 NA
## 71 2.500000
## 72 NA
## 73 NA
## 74 3.000000
## 75 NA
## 76 NA
## 77 5.000000
## 78 3.000000
## 79 3.000000
## 80 3.000000
## 81 1.000000
## 82 2.000000
## 83 1.000000
## 84 4.250000
## 85 3.250000
## 86 2.000000
## 87 7.000000
## 88 5.000000
## 89 2.000000
## 90 2.000000
## 91 3.000000
## 92 1.666667
## 93 NA
## 94 NA
## 95 2.500000
## 96 NA
## 97 3.000000
## 98 NA
## 99 3.000000
## 100 3.000000
## 101 1.000000
## 102 2.000000
## 103 3.250000
## 104 2.000000
## 105 5.000000
## 106 2.000000
## 107 NA
## 108 3.666667
## 109 NA
## 110 NA
## 111 1.500000
## 112 NA
## 113 2.000000
## 114 2.000000
## 115 3.500000
## 116 NA
## 117 NA
## 118 4.000000
## 119 NA
## 120 NA
## job_urls
## 1 https://www.glassdoor.com/partner/jobListing.htm?pos=101&ao=1110586&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_abf70c45&cb=1693191206750&jobListingId=1008831664201&cpc=FAE5E775D180B2FB&jrtk=5-yul1-0-1h8t0utkgk79l800-eaf815250553d0e3---6NYlbfkN0Buby3bM6xh3PvoctOm6nU0sG10uZOdQYvMWxvRDCBuHenOXIp5mmgtUvbbYhOKoY2sknh1PV-VQroSUREActYhdlGFomIlSjnClz3kSmRgwBZZuhyg7UTfLXtUhRvVHHYlk8R-zpgTHhPUeH_nKlHrq1YBWnaVvdSJTOrJRqTmt5gC6xA8baQRS3VnvWyYs5Ep4Rl1Mt-c5a40fhMWBsw49PthShM6M5vGimRlFT9VVO0W7Wxdts9LI0o0caVVcqfrbTIQbq2Pdxv3IG2f7WYcap9Dg7VDMPoYuJfXd6Iz0sLYIrm6FWb-Yj_pASXpSaVkV8WmcoCaJltLtE2SmdAqiEk0Lb8WLgrzcY0lBDl83FBTP_pGQeu84q2bDO7o7SKvEVVS4h6xvTBtzbic7lL6PeO7fbAtqPmA2qh0WHcI1_sLkgtZD6EFvmQNpTV6yIqAl4M1fJbFeVaJ6XCF3FUwJ0ltX9MffNDqHO_gVmDq_ab6lS44EJwmlmGhRSKWl25q4JUE4r2gr_5YQI8j_pV04iZQOuWmYCvIc7L8Q1GDRiVV2psec_9a5RhnEwEm_8XBOTfiNp3GBUnLEm7MtCijYpVyyDerr3Jw8Q75QlK9xtIo5DvxYhE2
## 2 https://www.glassdoor.com/partner/jobListing.htm?pos=102&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_dc9fc084&cb=1693191206750&jobListingId=1008831276997&jrtk=5-yul1-0-1h8t0utkgk79l800-59df38a5870d69be
## 3 https://www.glassdoor.com/partner/jobListing.htm?pos=103&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_0e1faf60&cb=1693191206750&jobListingId=1008656459667&jrtk=5-yul1-0-1h8t0utkgk79l800-25805aec5eca1a94
## 4 https://www.glassdoor.com/partner/jobListing.htm?pos=104&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_d7b3bc43&cb=1693191206750&jobListingId=1008165004643&jrtk=5-yul1-0-1h8t0utkgk79l800-2aa0042266040ac1
## 5 https://www.glassdoor.com/partner/jobListing.htm?pos=105&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_afa5a0d6&cb=1693191206750&jobListingId=1008778358194&jrtk=5-yul1-0-1h8t0utkgk79l800-e96368f4fe2b5202
## 6 https://www.glassdoor.com/partner/jobListing.htm?pos=106&ao=1110586&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_f98cfb04&cb=1693191206751&jobListingId=1008704191509&cpc=B076152010A3B66C&jrtk=5-yul1-0-1h8t0utkgk79l800-7f535e231b63a3df---6NYlbfkN0Ab67y_gTDH9tSaT0HLOcX4Q3W4UsL2WfVRyJV-qqww-d11GKr2JXZ1Ps-bCmQO4HycEifnNi22GO23XQW8AejgVnUcDL1k3XViCPKjiTM0YviRNYVoMFWU_S9JKlsRb3o-jPHrUP1YyQfK-zIfNw0Cal1HlhHVr3AeYp5zH5g6xBFTpkzxABn0sxY44CNtka-mkVb8wi1A1BL8Lsl-dzlJQC-PVbep0hzq1eWBs79a9wnRugaHDmPzpOBlrDZCG2skx_E-DPHPXzdDuykQwV55o-2aPv5YfE4kM4HkH9EiT9X-HQCzJkhSY-T6Na44F6lOoLK2hbj96HlSlOz42YcOn9rc5Ie08DGsOfcotPUNuRZ7HonTZ4m0AFQh9gAqZuWHlTUUHVhwPrfbbvnZciKS_sJp38Q4G-3erPCe7fh2D3a8OLY0_XiGulEHp7QIiDqB50I6c8HuwkmSjyWlLsxnf_sXCztJvMpXh6Gi6JyF-bLbW2wXltTAHERJVqXJBlPMsLeo9WI9BFm8tcz7b8VKuyahz-b7gavjV2JEabQfmMdW_zmtC5mbyFW67_V11fbxTlFdsxP5rlMA__zhJJGLHBSmPfW2gD6qj70LUsjtcPLSrc71yHmA4sHCTdB9Fb-7kPLVHVvkMO5JtljQHShKPVq1vgD9ju0ATdC3t3Ccshqx5lwYI8nKd9c-N3CZ9VY%3D
## 7 https://www.glassdoor.com/partner/jobListing.htm?pos=107&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_35669e31&cb=1693191206751&jobListingId=1008827683343&jrtk=5-yul1-0-1h8t0utkgk79l800-86d66104df73e8ef
## 8 https://www.glassdoor.com/partner/jobListing.htm?pos=108&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_07b570f1&cb=1693191206751&jobListingId=1008812015329&jrtk=5-yul1-0-1h8t0utkgk79l800-f628e3d170f0493d
## 9 https://www.glassdoor.com/partner/jobListing.htm?pos=109&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_e6cfd249&cb=1693191206751&jobListingId=1008088101621&jrtk=5-yul1-0-1h8t0utkgk79l800-786e90ed40fffc16
## 10 https://www.glassdoor.com/partner/jobListing.htm?pos=110&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_181694ea&cb=1693191206751&jobListingId=1008821596321&jrtk=5-yul1-0-1h8t0utkgk79l800-735e10c85a66d1be
## 11 https://www.glassdoor.com/partner/jobListing.htm?pos=111&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_93137500&cb=1693191206751&jobListingId=1008508200203&jrtk=5-yul1-0-1h8t0utkgk79l800-e0777a6e1a8532a0
## 12 https://www.glassdoor.com/partner/jobListing.htm?pos=112&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_59936b12&cb=1693191206752&jobListingId=1008544213304&jrtk=5-yul1-0-1h8t0utkgk79l800-ffa006790fcebd77
## 13 https://www.glassdoor.com/partner/jobListing.htm?pos=113&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_b411c1c2&cb=1693191206752&jobListingId=1007208922937&jrtk=5-yul1-0-1h8t0utkgk79l800-aa994e2f467f6284
## 14 https://www.glassdoor.com/partner/jobListing.htm?pos=114&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_5f236686&cb=1693191206752&jobListingId=1008695557915&jrtk=5-yul1-0-1h8t0utkgk79l800-1a120fda369b2e15
## 15 https://www.glassdoor.com/partner/jobListing.htm?pos=115&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_5da3768e&cb=1693191206752&jobListingId=1008317174451&jrtk=5-yul1-0-1h8t0utkgk79l800-bf6492d624e3f6f7
## 16 https://www.glassdoor.com/partner/jobListing.htm?pos=116&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_33f00405&cb=1693191206752&jobListingId=1008649680899&jrtk=5-yul1-0-1h8t0utkgk79l800-0a63c44eb8093092
## 17 https://www.glassdoor.com/partner/jobListing.htm?pos=117&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_b39e184b&cb=1693191206752&jobListingId=1008814911569&jrtk=5-yul1-0-1h8t0utkgk79l800-2f65d32e6e426dff
## 18 https://www.glassdoor.com/partner/jobListing.htm?pos=118&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_28cdae07&cb=1693191206752&jobListingId=1008698730426&jrtk=5-yul1-0-1h8t0utkgk79l800-9330d207fc38e6a6
## 19 https://www.glassdoor.com/partner/jobListing.htm?pos=119&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_ee8b5b2a&cb=1693191206752&jobListingId=1008508201752&jrtk=5-yul1-0-1h8t0utkgk79l800-7a43fbb561a180eb
## 20 https://www.glassdoor.com/partner/jobListing.htm?pos=120&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_7756fc52&cb=1693191206753&jobListingId=1008825534502&jrtk=5-yul1-0-1h8t0utkgk79l800-aef8f2d24de0be09
## 21 https://www.glassdoor.com/partner/jobListing.htm?pos=121&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_edaaa69f&cb=1693191206753&jobListingId=1008775143790&jrtk=5-yul1-0-1h8t0utkgk79l800-f69489130964f887
## 22 https://www.glassdoor.com/partner/jobListing.htm?pos=122&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_7d978e4c&cb=1693191206753&jobListingId=1008727251525&jrtk=5-yul1-0-1h8t0utkgk79l800-6eea1e26384be51e
## 23 https://www.glassdoor.com/partner/jobListing.htm?pos=123&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_2b480aa6&cb=1693191206753&jobListingId=1008775280803&jrtk=5-yul1-0-1h8t0utkgk79l800-6bd068c933eb0794
## 24 https://www.glassdoor.com/partner/jobListing.htm?pos=124&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_0dc1f9c2&cb=1693191206753&jobListingId=1006796103089&jrtk=5-yul1-0-1h8t0utkgk79l800-fe87222f34f549fa
## 25 https://www.glassdoor.com/partner/jobListing.htm?pos=125&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_9efa4f64&cb=1693191206753&jobListingId=1008165004605&jrtk=5-yul1-0-1h8t0utkgk79l800-21ca50c52e28b895
## 26 https://www.glassdoor.com/partner/jobListing.htm?pos=126&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_c4f02815&cb=1693191206753&jobListingId=1006319869907&jrtk=5-yul1-0-1h8t0utkgk79l800-796e8e3213f414a6
## 27 https://www.glassdoor.com/partner/jobListing.htm?pos=127&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_ae2d46c1&cb=1693191206755&jobListingId=1008304209079&jrtk=5-yul1-0-1h8t0utkgk79l800-2d2ce4e116aacd1a
## 28 https://www.glassdoor.com/partner/jobListing.htm?pos=128&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_a7a50a4f&cb=1693191206754&jobListingId=1008791223868&jrtk=5-yul1-0-1h8t0utkgk79l800-3dcec900a18e250a
## 29 https://www.glassdoor.com/partner/jobListing.htm?pos=129&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&cs=1_0974910a&cb=1693191206754&jobListingId=1008733375448&jrtk=5-yul1-0-1h8t0utkgk79l800-2b05fd324cc0e574
## 30 https://www.glassdoor.com/partner/jobListing.htm?pos=130&ao=1136043&s=58&guid=0000018a3a0f765fbe3fa1b7aaaa07f5&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_fc4cc74e&cb=1693191206754&jobListingId=1007620122253&jrtk=5-yul1-0-1h8t0utkgk79l800-d02bc15ce203571f
## 31 https://www.glassdoor.com/partner/jobListing.htm?pos=201&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_cbb015fe&cb=1693191207968&jobListingId=1008812015329&jrtk=5-yul1-0-1h8t0uum8k2mj800-f628e3d170f0493d
## 32 https://www.glassdoor.com/partner/jobListing.htm?pos=202&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_c91246e4&cb=1693191207968&jobListingId=1008640220917&jrtk=5-yul1-0-1h8t0uum8k2mj800-a780d19853502c4b
## 33 https://www.glassdoor.com/partner/jobListing.htm?pos=203&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_5602260f&cb=1693191207969&jobListingId=1008815003488&jrtk=5-yul1-0-1h8t0uum8k2mj800-d7122c34f04514e4
## 34 https://www.glassdoor.com/partner/jobListing.htm?pos=204&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_4e8c3d3a&cb=1693191207969&jobListingId=1008833159092&jrtk=5-yul1-0-1h8t0uum8k2mj800-aa77513f2ecff9e8
## 35 https://www.glassdoor.com/partner/jobListing.htm?pos=205&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_51ec3e71&cb=1693191207969&jobListingId=1008759650115&jrtk=5-yul1-0-1h8t0uum8k2mj800-f8bfa3fc9d71c11e
## 36 https://www.glassdoor.com/partner/jobListing.htm?pos=206&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_92cb80fc&cb=1693191207969&jobListingId=1008436807708&jrtk=5-yul1-0-1h8t0uum8k2mj800-ad0cce21ea2ad057
## 37 https://www.glassdoor.com/partner/jobListing.htm?pos=207&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_2ec28166&cb=1693191207969&jobListingId=1008685439661&jrtk=5-yul1-0-1h8t0uum8k2mj800-30d9973c98cdc916
## 38 https://www.glassdoor.com/partner/jobListing.htm?pos=208&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_fb9e7ca9&cb=1693191207969&jobListingId=1008491528393&jrtk=5-yul1-0-1h8t0uum8k2mj800-a50ff048c0a394ad
## 39 https://www.glassdoor.com/partner/jobListing.htm?pos=209&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_66957ad1&cb=1693191207969&jobListingId=1006796103089&jrtk=5-yul1-0-1h8t0uum8k2mj800-fe87222f34f549fa
## 40 https://www.glassdoor.com/partner/jobListing.htm?pos=210&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_12790b5c&cb=1693191207971&jobListingId=1008455399083&jrtk=5-yul1-0-1h8t0uum8k2mj800-b3d6b59a8736be25
## 41 https://www.glassdoor.com/partner/jobListing.htm?pos=211&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_89515371&cb=1693191207969&jobListingId=1008304209079&jrtk=5-yul1-0-1h8t0uum8k2mj800-2d2ce4e116aacd1a
## 42 https://www.glassdoor.com/partner/jobListing.htm?pos=212&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_4ce6de56&cb=1693191207970&jobListingId=1008834111484&jrtk=5-yul1-0-1h8t0uum8k2mj800-bc1daccbf6ec64e8
## 43 https://www.glassdoor.com/partner/jobListing.htm?pos=213&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_4a2d9137&cb=1693191207970&jobListingId=1008165004605&jrtk=5-yul1-0-1h8t0uum8k2mj800-21ca50c52e28b895
## 44 https://www.glassdoor.com/partner/jobListing.htm?pos=214&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_82628680&cb=1693191207970&jobListingId=1008821596321&jrtk=5-yul1-0-1h8t0uum8k2mj800-735e10c85a66d1be
## 45 https://www.glassdoor.com/partner/jobListing.htm?pos=215&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_eb3dd1f9&cb=1693191207970&jobListingId=1007620122253&jrtk=5-yul1-0-1h8t0uum8k2mj800-d02bc15ce203571f
## 46 https://www.glassdoor.com/partner/jobListing.htm?pos=216&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_d8ca9b58&cb=1693191207970&jobListingId=1008814911569&jrtk=5-yul1-0-1h8t0uum8k2mj800-2f65d32e6e426dff
## 47 https://www.glassdoor.com/partner/jobListing.htm?pos=217&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_75a7b019&cb=1693191207970&jobListingId=1008764297119&jrtk=5-yul1-0-1h8t0uum8k2mj800-8baa4a3cfb9fff62
## 48 https://www.glassdoor.com/partner/jobListing.htm?pos=218&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_0e11b603&cb=1693191207971&jobListingId=1008727251525&jrtk=5-yul1-0-1h8t0uum8k2mj800-6eea1e26384be51e
## 49 https://www.glassdoor.com/partner/jobListing.htm?pos=219&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_4396fdaa&cb=1693191207971&jobListingId=1008816934050&jrtk=5-yul1-0-1h8t0uum8k2mj800-02b0c88f9137afca
## 50 https://www.glassdoor.com/partner/jobListing.htm?pos=220&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_3b484a49&cb=1693191207971&jobListingId=1008508200203&jrtk=5-yul1-0-1h8t0uum8k2mj800-e0777a6e1a8532a0
## 51 https://www.glassdoor.com/partner/jobListing.htm?pos=221&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_75a02d3b&cb=1693191207971&jobListingId=1008759348908&jrtk=5-yul1-0-1h8t0uum8k2mj800-3608da1ee5020093
## 52 https://www.glassdoor.com/partner/jobListing.htm?pos=222&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_767413da&cb=1693191207971&jobListingId=1008508201752&jrtk=5-yul1-0-1h8t0uum8k2mj800-7a43fbb561a180eb
## 53 https://www.glassdoor.com/partner/jobListing.htm?pos=223&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_2c2aaa9e&cb=1693191207971&jobListingId=1008733375448&jrtk=5-yul1-0-1h8t0uum8k2mj800-2b05fd324cc0e574
## 54 https://www.glassdoor.com/partner/jobListing.htm?pos=224&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_7164774b&cb=1693191207971&jobListingId=1008825534502&jrtk=5-yul1-0-1h8t0uum8k2mj800-aef8f2d24de0be09
## 55 https://www.glassdoor.com/partner/jobListing.htm?pos=225&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_eb982d86&cb=1693191207971&jobListingId=1008775143790&jrtk=5-yul1-0-1h8t0uum8k2mj800-f69489130964f887
## 56 https://www.glassdoor.com/partner/jobListing.htm?pos=226&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_0c35dfe4&cb=1693191207971&jobListingId=1008789715047&jrtk=5-yul1-0-1h8t0uum8k2mj800-28bbc6c921869a4e
## 57 https://www.glassdoor.com/partner/jobListing.htm?pos=227&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_bae0d8da&cb=1693191207971&jobListingId=1008811000990&jrtk=5-yul1-0-1h8t0uum8k2mj800-1b340328c4aff3a8
## 58 https://www.glassdoor.com/partner/jobListing.htm?pos=228&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_92936900&cb=1693191207971&jobListingId=1008649680899&jrtk=5-yul1-0-1h8t0uum8k2mj800-0a63c44eb8093092
## 59 https://www.glassdoor.com/partner/jobListing.htm?pos=229&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_5a26d4b4&cb=1693191207972&jobListingId=1008832926876&jrtk=5-yul1-0-1h8t0uum8k2mj800-78f7f2549725c418
## 60 https://www.glassdoor.com/partner/jobListing.htm?pos=230&ao=1136043&s=58&guid=0000018a3a0f7a9381c2688741d62855&src=GD_JOB_AD&t=SR&vt=w&cs=1_5adf383a&cb=1693191207972&jobListingId=1008788741469&jrtk=5-yul1-0-1h8t0uum8k2mj800-70a96c05bd397567
## 61 https://www.glassdoor.com/partner/jobListing.htm?pos=301&ao=1110586&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_2a499bd4&cb=1693191208906&jobListingId=1008832117057&cpc=0C139D4CAD5A6DB2&jrtk=5-yul1-0-1h8t0uvkfip9i800-bed5bee7bedd3f09---6NYlbfkN0DeIHNDoy_7g_8YaqT62-PmIGAlSHa777pjKqLReaunOLGz63yz6R5x7HusT6XJ9by70r1nE5UX4Gpfl1bnOn0F6bUJHrS4UJGk018F6Ac7e1NPlfb80CtOv36AphdLQUpEQrfmpHqqiXKhQMWAAb1STWGUdzQMqVh3b1dc6dVUxzPwpNpH6JP1BFaPf9BJ1Y8_TqOdJDHzMyfm6o8ThW-jTY6HAqhpdjHOFGx5gA2_PfgBqBGbCKoJhlukqcz2SkGL5jh_1KEPwE-ohwwfUdvQCgDkQqaPlZwRtxJ9JQjQHmltbAkqjAweWIaGdZa5iQJVEwEFmZ9C16jM5z3e9h5q679rgfKUPw7ypzPEdkbHBOPOI4NGXDbd20owyrS9Sr5s8HRyWQ6-kDNXfsyH6V-GJN1blJmvPPm0VSZxM9vNYOb0P1M6DeNFIYPPxkvx4qvLhMy2Ew2F_ThAaWCOvN5ZpRiwu-rRZ9pKfUkRrW2V_R2S3wl8HS8pXefpo7dFn8PFXMJICYQ_e8eS4apFeR9C0NEu-iHuhNA1cZsC0ArdAb1j_n1Qpy_tiRuLStgU501PB_U1_-LIDidZG2hdRLdR0eJYhBL9-JZxTE6Rq5ShL6C2h21_Qf_TxxjIIXIBtwZ8IqBqZa67XupLsVAmlNJJEQ-Zn-woxHrhMHU5JpSx5yVu8BFY5rOw7hgzpLU62LY%3D
## 62 https://www.glassdoor.com/partner/jobListing.htm?pos=302&ao=1110586&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_652dfd05&cb=1693191208906&jobListingId=1008560909836&cpc=FA84DF7EA1EC2398&jrtk=5-yul1-0-1h8t0uvkfip9i800-d0252e7bf98d22cc---6NYlbfkN0Ab67y_gTDH9tSaT0HLOcX4Q3W4UsL2WfVRyJV-qqww-d11GKr2JXZ1AhWJc2VDygMHPbEQWFh2iSWk-yL0t5bKGcryN5qzm8_-GrBcQupnUyrDWj7GV32KDq8CpYV8y3-VHpPuMsAdzcvgK11JPfrBvBziPxUSNbrod6lu6imQRgMrsNVGCeU1Mn72Y8nMJm-79XeZhmDj2b6BF9PSG2H2CPHxmlmyazc7zfozT9tnDHYz6vSThMP_Hr4F8EJBOs7B3fZ2x0Fn_owXxomQnTY_oXcrS40vT6jESA75ezhkKzSa6GjPCWK5P5mn2koCXp-WD0KwXsedtAyCbjNm9XAW-8wkKnvCqiii8CeciucEGlWdkrtQy1XCS8C-_esIo0-qrnEM_qotXgX9lQrVQ23a8n4JDIn-h_S2Dh5q8h2VbEpYlfpgveyletGGgPaMkqE5t5fTszyOEufwmCEZAPPBkxDPyMFJwzq-z1XnNqLUignBnZQYMgHSQoH07O4Mgijel5_i8wvhtBmPmI70es-DuxdQAfjvq3GnfiPNf5qDKaxhkz9wgT5rhHYmxLH06uVv0V1cjBxE-uHAQzEvCIQsa9NmcKPAp_fu3Gg6VMr95ro5fFgvmo3WihIrk18wjUIIMHxCTdsD4K1y90y1HBDrL5ZeEv2Sw5XrcSAKGhcGxp4XYBDRjdKvuDHddGGn39I%3D
## 63 https://www.glassdoor.com/partner/jobListing.htm?pos=303&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_e3fb05da&cb=1693191208907&jobListingId=1008812015329&jrtk=5-yul1-0-1h8t0uvkfip9i800-f628e3d170f0493d
## 64 https://www.glassdoor.com/partner/jobListing.htm?pos=304&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_6d04e1ed&cb=1693191208907&jobListingId=1008508200203&jrtk=5-yul1-0-1h8t0uvkfip9i800-e0777a6e1a8532a0
## 65 https://www.glassdoor.com/partner/jobListing.htm?pos=305&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_bb6d13ad&cb=1693191208907&jobListingId=1008695557915&jrtk=5-yul1-0-1h8t0uvkfip9i800-1a120fda369b2e15
## 66 https://www.glassdoor.com/partner/jobListing.htm?pos=306&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_683d2c6e&cb=1693191208907&jobListingId=1008649680899&jrtk=5-yul1-0-1h8t0uvkfip9i800-0a63c44eb8093092
## 67 https://www.glassdoor.com/partner/jobListing.htm?pos=307&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_e8533020&cb=1693191208907&jobListingId=1008814911569&jrtk=5-yul1-0-1h8t0uvkfip9i800-2f65d32e6e426dff
## 68 https://www.glassdoor.com/partner/jobListing.htm?pos=308&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_80ab4d8f&cb=1693191208907&jobListingId=1008698730426&jrtk=5-yul1-0-1h8t0uvkfip9i800-9330d207fc38e6a6
## 69 https://www.glassdoor.com/partner/jobListing.htm?pos=309&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_46edb8a2&cb=1693191208907&jobListingId=1008508201752&jrtk=5-yul1-0-1h8t0uvkfip9i800-7a43fbb561a180eb
## 70 https://www.glassdoor.com/partner/jobListing.htm?pos=310&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_8bca3225&cb=1693191208907&jobListingId=1008825534502&jrtk=5-yul1-0-1h8t0uvkfip9i800-aef8f2d24de0be09
## 71 https://www.glassdoor.com/partner/jobListing.htm?pos=311&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_113668e8&cb=1693191208908&jobListingId=1008775143790&jrtk=5-yul1-0-1h8t0uvkfip9i800-f69489130964f887
## 72 https://www.glassdoor.com/partner/jobListing.htm?pos=312&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_8f5a8c35&cb=1693191208909&jobListingId=1006796103089&jrtk=5-yul1-0-1h8t0uvkfip9i800-fe87222f34f549fa
## 73 https://www.glassdoor.com/partner/jobListing.htm?pos=313&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_d31596dd&cb=1693191208909&jobListingId=1006319869907&jrtk=5-yul1-0-1h8t0uvkfip9i800-796e8e3213f414a6
## 74 https://www.glassdoor.com/partner/jobListing.htm?pos=314&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_f159ecfe&cb=1693191208909&jobListingId=1007620122253&jrtk=5-yul1-0-1h8t0uvkfip9i800-d02bc15ce203571f
## 75 https://www.glassdoor.com/partner/jobListing.htm?pos=315&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_fbb6fdb8&cb=1693191208910&jobListingId=1008455399083&jrtk=5-yul1-0-1h8t0uvkfip9i800-b3d6b59a8736be25
## 76 https://www.glassdoor.com/partner/jobListing.htm?pos=316&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_5598c33b&cb=1693191208910&jobListingId=1006352991722&jrtk=5-yul1-0-1h8t0uvkfip9i800-c5dfbdb019f9d7ad
## 77 https://www.glassdoor.com/partner/jobListing.htm?pos=317&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_e71f7ba8&cb=1693191208910&jobListingId=1008811000990&jrtk=5-yul1-0-1h8t0uvkfip9i800-1b340328c4aff3a8
## 78 https://www.glassdoor.com/partner/jobListing.htm?pos=318&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_2eff5da7&cb=1693191208910&jobListingId=1008685439661&jrtk=5-yul1-0-1h8t0uvkfip9i800-30d9973c98cdc916
## 79 https://www.glassdoor.com/partner/jobListing.htm?pos=319&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_905c1604&cb=1693191208910&jobListingId=1008721299912&jrtk=5-yul1-0-1h8t0uvkfip9i800-a56090b703e7a0b4
## 80 https://www.glassdoor.com/partner/jobListing.htm?pos=320&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_a09e68d2&cb=1693191208910&jobListingId=1008801048387&jrtk=5-yul1-0-1h8t0uvkfip9i800-0dbd01c2f5c732d7
## 81 https://www.glassdoor.com/partner/jobListing.htm?pos=321&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_12542b5e&cb=1693191208910&jobListingId=1008810933811&jrtk=5-yul1-0-1h8t0uvkfip9i800-f1ae228c3bcf198b
## 82 https://www.glassdoor.com/partner/jobListing.htm?pos=322&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_dc9e03d9&cb=1693191208911&jobListingId=1008814193255&jrtk=5-yul1-0-1h8t0uvkfip9i800-b64b066bea3808d1
## 83 https://www.glassdoor.com/partner/jobListing.htm?pos=323&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_cea65ec1&cb=1693191208911&jobListingId=1008757376535&jrtk=5-yul1-0-1h8t0uvkfip9i800-8b60d005e3c7de63
## 84 https://www.glassdoor.com/partner/jobListing.htm?pos=324&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_88ab8129&cb=1693191208911&jobListingId=1008834327749&jrtk=5-yul1-0-1h8t0uvkfip9i800-b5b761ebd51bf716
## 85 https://www.glassdoor.com/partner/jobListing.htm?pos=325&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_7dd37ba3&cb=1693191208911&jobListingId=1008815003488&jrtk=5-yul1-0-1h8t0uvkfip9i800-d7122c34f04514e4
## 86 https://www.glassdoor.com/partner/jobListing.htm?pos=326&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_c5be3e9d&cb=1693191208911&jobListingId=1008759650115&jrtk=5-yul1-0-1h8t0uvkfip9i800-f8bfa3fc9d71c11e
## 87 https://www.glassdoor.com/partner/jobListing.htm?pos=327&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_39115f5c&cb=1693191208911&jobListingId=1008793747680&jrtk=5-yul1-0-1h8t0uvkfip9i800-246a14d0a6b715d7
## 88 https://www.glassdoor.com/partner/jobListing.htm?pos=328&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_f0c2125f&cb=1693191208911&jobListingId=1008834111484&jrtk=5-yul1-0-1h8t0uvkfip9i800-bc1daccbf6ec64e8
## 89 https://www.glassdoor.com/partner/jobListing.htm?pos=329&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_4e8fb659&cb=1693191208912&jobListingId=1008006569203&jrtk=5-yul1-0-1h8t0uvkfip9i800-6bd2e1336c930a1f
## 90 https://www.glassdoor.com/partner/jobListing.htm?pos=330&ao=1136043&s=58&guid=0000018a3a0f7e5e84120f55818a5eac&src=GD_JOB_AD&t=SR&vt=w&cs=1_6f6f6b2b&cb=1693191208912&jobListingId=1008640220917&jrtk=5-yul1-0-1h8t0uvkfip9i800-a780d19853502c4b
## 91 https://www.glassdoor.com/partner/jobListing.htm?pos=401&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_958d2932&cb=1693191210013&jobListingId=1008812015329&jrtk=5-yul1-0-1h8t0v0pvip9i800-f628e3d170f0493d
## 92 https://www.glassdoor.com/partner/jobListing.htm?pos=402&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_9b6a4820&cb=1693191210014&jobListingId=1008695557915&jrtk=5-yul1-0-1h8t0v0pvip9i800-1a120fda369b2e15
## 93 https://www.glassdoor.com/partner/jobListing.htm?pos=403&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_d969be6f&cb=1693191210014&jobListingId=1008508201752&jrtk=5-yul1-0-1h8t0v0pvip9i800-7a43fbb561a180eb
## 94 https://www.glassdoor.com/partner/jobListing.htm?pos=404&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_e7e5ff0b&cb=1693191210014&jobListingId=1008825534502&jrtk=5-yul1-0-1h8t0v0pvip9i800-aef8f2d24de0be09
## 95 https://www.glassdoor.com/partner/jobListing.htm?pos=405&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_7d19a5c6&cb=1693191210014&jobListingId=1008775143790&jrtk=5-yul1-0-1h8t0v0pvip9i800-f69489130964f887
## 96 https://www.glassdoor.com/partner/jobListing.htm?pos=406&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_a7e8e0af&cb=1693191210015&jobListingId=1006319869907&jrtk=5-yul1-0-1h8t0v0pvip9i800-796e8e3213f414a6
## 97 https://www.glassdoor.com/partner/jobListing.htm?pos=407&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_5cf2c710&cb=1693191210015&jobListingId=1007620122253&jrtk=5-yul1-0-1h8t0v0pvip9i800-d02bc15ce203571f
## 98 https://www.glassdoor.com/partner/jobListing.htm?pos=408&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_134a986a&cb=1693191210015&jobListingId=1006352991722&jrtk=5-yul1-0-1h8t0v0pvip9i800-c5dfbdb019f9d7ad
## 99 https://www.glassdoor.com/partner/jobListing.htm?pos=409&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_0fd810c9&cb=1693191210015&jobListingId=1008721299912&jrtk=5-yul1-0-1h8t0v0pvip9i800-a56090b703e7a0b4
## 100 https://www.glassdoor.com/partner/jobListing.htm?pos=410&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_8188244d&cb=1693191210016&jobListingId=1008801048387&jrtk=5-yul1-0-1h8t0v0pvip9i800-0dbd01c2f5c732d7
## 101 https://www.glassdoor.com/partner/jobListing.htm?pos=411&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_334267c1&cb=1693191210016&jobListingId=1008810933811&jrtk=5-yul1-0-1h8t0v0pvip9i800-f1ae228c3bcf198b
## 102 https://www.glassdoor.com/partner/jobListing.htm?pos=412&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_0e2384a5&cb=1693191210016&jobListingId=1008814193255&jrtk=5-yul1-0-1h8t0v0pvip9i800-b64b066bea3808d1
## 103 https://www.glassdoor.com/partner/jobListing.htm?pos=413&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_85936aa0&cb=1693191210016&jobListingId=1008815003488&jrtk=5-yul1-0-1h8t0v0pvip9i800-d7122c34f04514e4
## 104 https://www.glassdoor.com/partner/jobListing.htm?pos=414&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_3dfe2f9e&cb=1693191210016&jobListingId=1008759650115&jrtk=5-yul1-0-1h8t0v0pvip9i800-f8bfa3fc9d71c11e
## 105 https://www.glassdoor.com/partner/jobListing.htm?pos=415&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_c906e59c&cb=1693191210016&jobListingId=1008834111484&jrtk=5-yul1-0-1h8t0v0pvip9i800-bc1daccbf6ec64e8
## 106 https://www.glassdoor.com/partner/jobListing.htm?pos=416&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_280264b3&cb=1693191210016&jobListingId=1008006569203&jrtk=5-yul1-0-1h8t0v0pvip9i800-6bd2e1336c930a1f
## 107 https://www.glassdoor.com/partner/jobListing.htm?pos=417&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_28ca3a98&cb=1693191210017&jobListingId=1008727982375&jrtk=5-yul1-0-1h8t0v0pvip9i800-aa8b6321a151ded9
## 108 https://www.glassdoor.com/partner/jobListing.htm?pos=418&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_bbfac90d&cb=1693191210017&jobListingId=1008789715047&jrtk=5-yul1-0-1h8t0v0pvip9i800-28bbc6c921869a4e
## 109 https://www.glassdoor.com/partner/jobListing.htm?pos=419&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_8eb76f32&cb=1693191210017&jobListingId=1008832121608&jrtk=5-yul1-0-1h8t0v0pvip9i800-01285c3a3f8fb219
## 110 https://www.glassdoor.com/partner/jobListing.htm?pos=420&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_9bfae338&cb=1693191210017&jobListingId=1008777591399&jrtk=5-yul1-0-1h8t0v0pvip9i800-94a54da294aa7db0
## 111 https://www.glassdoor.com/partner/jobListing.htm?pos=421&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_907f8849&cb=1693191210017&jobListingId=1008788195766&jrtk=5-yul1-0-1h8t0v0pvip9i800-a86f07928f0352f2
## 112 https://www.glassdoor.com/partner/jobListing.htm?pos=422&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_7fee6ea8&cb=1693191210017&jobListingId=1007718104412&jrtk=5-yul1-0-1h8t0v0pvip9i800-015dc14174b54830
## 113 https://www.glassdoor.com/partner/jobListing.htm?pos=423&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_84e0bec8&cb=1693191210017&jobListingId=1008804066776&jrtk=5-yul1-0-1h8t0v0pvip9i800-2be29a147eb96d0c
## 114 https://www.glassdoor.com/partner/jobListing.htm?pos=424&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_96ae7943&cb=1693191210017&jobListingId=1008833159092&jrtk=5-yul1-0-1h8t0v0pvip9i800-aa77513f2ecff9e8
## 115 https://www.glassdoor.com/partner/jobListing.htm?pos=425&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_c7df2024&cb=1693191210017&jobListingId=1008806849250&jrtk=5-yul1-0-1h8t0v0pvip9i800-f12fd3049c8c92bb
## 116 https://www.glassdoor.com/partner/jobListing.htm?pos=426&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_e0b3848a&cb=1693191210017&jobListingId=1008491528393&jrtk=5-yul1-0-1h8t0v0pvip9i800-a50ff048c0a394ad
## 117 https://www.glassdoor.com/partner/jobListing.htm?pos=427&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_4be33803&cb=1693191210017&jobListingId=1008650616076&jrtk=5-yul1-0-1h8t0v0pvip9i800-bd7801198c60043f
## 118 https://www.glassdoor.com/partner/jobListing.htm?pos=428&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_e1806984&cb=1693191210017&jobListingId=1008081456842&jrtk=5-yul1-0-1h8t0v0pvip9i800-d0c13ab39d15d56d
## 119 https://www.glassdoor.com/partner/jobListing.htm?pos=429&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&ea=1&cs=1_3b4f04dc&cb=1693191210017&jobListingId=1008766383346&jrtk=5-yul1-0-1h8t0v0pvip9i800-6847db2a4f9e64ff
## 120 https://www.glassdoor.com/partner/jobListing.htm?pos=430&ao=1136043&s=58&guid=0000018a3a0f83128bf885e41b082153&src=GD_JOB_AD&t=SR&vt=w&cs=1_ccf08f24&cb=1693191210017&jobListingId=1008653192984&jrtk=5-yul1-0-1h8t0v0pvip9i800-536ec8ff4b308b65
data <- data %>%
mutate(major = gsub("\\.", ",", major)) %>%
separate_rows(major, sep = ",") %>%
mutate(relabelled_skills = gsub("\\.", ",", relabelled_skills)) %>%
separate_rows(relabelled_skills, sep = ",") %>%
mutate(work_environment = gsub("\\.", ",", work_environment)) %>%
separate_rows(work_environment, sep = ",") %>%
mutate(years_experience = gsub("\\.", ",", years_experience)) %>%
separate_rows(years_experience, sep = ",")
data <- distinct(data)
data <- data %>% drop_na()
data
## # A tibble: 771 × 13
## positions relabelled_seniority…¹ company_name location work_environment pay
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 Junior Q… Entry-Level fionics (HI… New Yor… "In Person" $59,…
## 2 Junior Q… Entry-Level fionics (HI… New Yor… "In Person" $59,…
## 3 Commodit… Senior-Level MIO Partners New Yor… "Hybrid" $70,…
## 4 Commodit… Senior-Level MIO Partners New Yor… " Remote" $70,…
## 5 Market R… Senior-Level Market Prob… New Yor… "Remote" $175…
## 6 Market R… Senior-Level Market Prob… New Yor… "Remote" $175…
## 7 Market R… Senior-Level Market Prob… New Yor… " In Person" $175…
## 8 Market R… Senior-Level Market Prob… New Yor… " In Person" $175…
## 9 Market R… Senior-Level Market Prob… New Yor… " Remote" $175…
## 10 Market R… Senior-Level Market Prob… New Yor… " Remote" $175…
## # ℹ 761 more rows
## # ℹ abbreviated name: ¹relabelled_seniority_lvl
## # ℹ 7 more variables: min_pay <chr>, max_pay <chr>, degree <chr>, major <chr>,
## # relabelled_skills <chr>, years_experience <chr>, job_urls <chr>
##Wordcloud
library(wordcloud)
## Loading required package: RColorBrewer
wordcloud(data$relabelled_skills, min.freq = 1, max.words=200, random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, "Dark2"))
## Loading required namespace: tm
## Warning in tm_map.SimpleCorpus(corpus, tm::removePunctuation): transformation
## drops documents
## Warning in tm_map.SimpleCorpus(corpus, function(x) tm::removeWords(x,
## tm::stopwords())): transformation drops documents
wordcloud(data$major, min.freq = 1, max.words=200, random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, "Dark2"))
## Warning in tm_map.SimpleCorpus(corpus, tm::removePunctuation): transformation
## drops documents
## Warning in tm_map.SimpleCorpus(corpus, tm::removePunctuation): transformation
## drops documents
data$relabelled_skills <- trimws(data$relabelled_skills)
data$relabelled_skills <- tolower(data$relabelled_skills)
data$relabelled_skills <- gsub("[^[:print:]]", "", data$relabelled_skills)
# Remove rows where relabelled_skills is an empty string
data <- data %>%
filter(relabelled_skills != "")
# Get distinct skills
distinct_skills <- data %>%
distinct(relabelled_skills) %>%
pull(relabelled_skills)
data$work_environment <- trimws(data$work_environment)
data$work_environment <- tolower(data$work_environment)
data$work_environment <- gsub("[^[:print:]]", "", data$work_environment)
distinct_skills <- data %>%
distinct(work_environment) %>%
pull(work_environment)
data <- data %>% drop_na()
data %>%
distinct(positions, company_name)
## # A tibble: 24 × 2
## positions company_name
## <chr> <chr>
## 1 Junior Quant Researcher fionics (HIRECLOUT)
## 2 Commodity Researcher MIO Partners
## 3 Market Research Project Manager Market Probe International …
## 4 Performance and Insights Analyst FanDuel
## 5 Delta-One Quant Researcher Executive Placement Network
## 6 Quantitative Researcher - Investment Management Bluesky Capital Advisors
## 7 Market Intelligence Analyst Neuberger Berman
## 8 Senior Analyst, Subscriber Planning and Analysis Sirius XM
## 9 Product & Market Analyst Peking Linen
## 10 Quantitative Researcher - High Frequency Trading Executive Placement Network
## # ℹ 14 more rows
##Cleaned dataset (N=45)
data
## # A tibble: 693 × 13
## positions relabelled_seniority…¹ company_name location work_environment pay
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 Junior Q… Entry-Level fionics (HI… New Yor… in person $59,…
## 2 Junior Q… Entry-Level fionics (HI… New Yor… in person $59,…
## 3 Commodit… Senior-Level MIO Partners New Yor… hybrid $70,…
## 4 Commodit… Senior-Level MIO Partners New Yor… remote $70,…
## 5 Market R… Senior-Level Market Prob… New Yor… remote $175…
## 6 Market R… Senior-Level Market Prob… New Yor… remote $175…
## 7 Market R… Senior-Level Market Prob… New Yor… in person $175…
## 8 Market R… Senior-Level Market Prob… New Yor… in person $175…
## 9 Market R… Senior-Level Market Prob… New Yor… remote $175…
## 10 Market R… Senior-Level Market Prob… New Yor… remote $175…
## # ℹ 683 more rows
## # ℹ abbreviated name: ¹relabelled_seniority_lvl
## # ℹ 7 more variables: min_pay <chr>, max_pay <chr>, degree <chr>, major <chr>,
## # relabelled_skills <chr>, years_experience <chr>, job_urls <chr>
library(forcats)
df_plot <- data %>%
select(positions, company_name, relabelled_seniority_lvl, relabelled_skills) %>%
distinct(positions, company_name, relabelled_seniority_lvl, relabelled_skills) %>%
add_count(relabelled_skills) %>%
top_n(200, n)
df_plot$relabelled_skills <- fct_reorder(df_plot$relabelled_skills, df_plot$n)
ggplot(df_plot, aes(relabelled_skills)) +
geom_bar() +
coord_flip()
data %>%
select(positions, company_name, relabelled_seniority_lvl) %>%
distinct(positions, company_name, relabelled_seniority_lvl) %>%
ggplot(aes(relabelled_seniority_lvl)) +
geom_bar()
data %>%
select(positions, company_name, relabelled_seniority_lvl) %>%
distinct(positions, company_name, relabelled_seniority_lvl) %>%
filter(relabelled_seniority_lvl != "Undefined") %>%
ggplot(aes(relabelled_seniority_lvl)) +
geom_bar()
data %>%
select(positions, company_name, work_environment) %>%
distinct(positions, company_name, work_environment) %>%
ggplot(aes(work_environment)) +
geom_bar()
What’s the relationship between… - Seniority level and minimum pay - Years of experience and minimum pay - Work Location and minimum pay - Degree + Years of experience and minimum pay - Skill demand and Seniority
library(knitr)
relabelled_skills <- str_remove_all(relabelled_skills, "\\s")
data %>%
filter(relabelled_seniority_lvl == "Mid-Level") %>%
distinct(positions, company_name, relabelled_skills) %>%
count(relabelled_skills, name = "skill_count") %>%
arrange(desc(skill_count)) %>%
mutate("Percentage of Postings" = paste0(round((skill_count / sum(skill_count)) * 100, 2), "%")) %>%
select(-skill_count) %>%
kable( caption = "Top Skills for Mid-Level Market Researchers (N = 8)", align=c('l', 'r'), col.names = c("Skills", "Percentage of Postings"))
| Skills | Percentage of Postings |
|---|---|
| excel | 60% |
| sql | 20% |
| stat analysis | 20% |
data %>%
filter(relabelled_seniority_lvl == "Senior-Level") %>%
distinct(positions, company_name, relabelled_skills) %>%
count(relabelled_skills, name = "skill_count") %>%
arrange(desc(skill_count)) %>%
mutate("Percentage of Postings" = paste0(round((skill_count / sum(skill_count)) * 100, 2), "%")) %>%
select(-skill_count) %>%
kable( caption = "Top Skills for Mid-Level Market Researchers (N = 20)", align=c('l', 'r'), col.names = c("Skills", "Percentage of Postings"))
| Skills | Percentage of Postings |
|---|---|
| excel | 40% |
| stat analysis | 15% |
| python | 10% |
| sql | 10% |
| 5% | |
| sap | 5% |
| sas | 5% |
| spss | 5% |
| tableau | 5% |
data %>%
filter(relabelled_seniority_lvl == "Undefined") %>%
distinct(positions, company_name, relabelled_skills) %>%
count(relabelled_skills, name = "skill_count") %>%
arrange(desc(skill_count)) %>%
mutate("Percentage of Postings" = paste0(round((skill_count / sum(skill_count)) * 100, 2), "%")) %>%
select(-skill_count) %>%
kable( caption = "Top Skills for Market Researchers' Undefined (N = 20)", align=c('l', 'r'), col.names = c("Skills", "Percentage of Postings"))
| Skills | Percentage of Postings |
|---|---|
| excel | 25.71% |
| python | 14.29% |
| sql | 14.29% |
| stat analysis | 14.29% |
| 11.43% | |
| tableau | 8.57% |
| sap | 5.71% |
| sas | 5.71% |
##coorelation between years of experience and pay
data$min_pay <- as.numeric(data$min_pay)
## Warning: NAs introduced by coercion
data$years_experience <- as.numeric(data$years_experience)
cor_test <- cor.test(data$years_experience, data$min_pay)
print(cor_test)
##
## Pearson's product-moment correlation
##
## data: data$years_experience and data$min_pay
## t = -0.5729, df = 679, p-value = 0.5669
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.09695073 0.05323733
## sample estimates:
## cor
## -0.02198071