4.1

How many participants/variables are there in the “salary” data set?

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
salary = read.csv("C:\\Users\\12884742\\Downloads\\Professorial Salaries.csv")
dim(salary)
## [1] 397   9

4.2

List the variable names

names(salary)
## [1] "ID"            "Rank"          "Discipline"    "Yrs.since.phd"
## [5] "Yrs.service"   "Sex"           "NPubs"         "Ncits"        
## [9] "Salary"

4.3

List the first 6 observations

head(salary)
##   ID      Rank Discipline Yrs.since.phd Yrs.service  Sex NPubs Ncits Salary
## 1  1      Prof          B            19          18 Male    18    50 139750
## 2  2      Prof          B            20          16 Male     3    26 173200
## 3  3  AsstProf          B             4           3 Male     2    50  79750
## 4  4      Prof          B            45          39 Male    17    34 115000
## 5  5      Prof          B            40          41 Male    11    41 141500
## 6  6 AssocProf          B             6           6 Male     6    37  97000

5

Create a new variable “salary.level”: - If Salary USD 130,000 then salary.level = “High” - If Salary USD 100,000 and Salary< USD 100,000 then salary.level = “Medium” - If Salary< USD 100,000 then salary.level = “Low”

salary = salary %>% mutate(salary.level = case_when(Salary>=130000~ "High", Salary<130000 & Salary>=100000~ "Medium", Salary <100000~ "Low"))
head(salary)
##   ID      Rank Discipline Yrs.since.phd Yrs.service  Sex NPubs Ncits Salary
## 1  1      Prof          B            19          18 Male    18    50 139750
## 2  2      Prof          B            20          16 Male     3    26 173200
## 3  3  AsstProf          B             4           3 Male     2    50  79750
## 4  4      Prof          B            45          39 Male    17    34 115000
## 5  5      Prof          B            40          41 Male    11    41 141500
## 6  6 AssocProf          B             6           6 Male     6    37  97000
##   salary.level
## 1         High
## 2         High
## 3          Low
## 4       Medium
## 5         High
## 6          Low

6

Create a new variable “high.salary”: - If Salary USD 130,000 then high.salary = 1 - If Salary< USD 130,000 then high.salary = 0

salary = salary %>% mutate(salary.high = case_when(Salary>=130000~1, Salary<130000~0))
head(salary)
##   ID      Rank Discipline Yrs.since.phd Yrs.service  Sex NPubs Ncits Salary
## 1  1      Prof          B            19          18 Male    18    50 139750
## 2  2      Prof          B            20          16 Male     3    26 173200
## 3  3  AsstProf          B             4           3 Male     2    50  79750
## 4  4      Prof          B            45          39 Male    17    34 115000
## 5  5      Prof          B            40          41 Male    11    41 141500
## 6  6 AssocProf          B             6           6 Male     6    37  97000
##   salary.level salary.high
## 1         High           1
## 2         High           1
## 3          Low           0
## 4       Medium           0
## 5         High           1
## 6          Low           0

7

Create a new variable “salary.aud” as professor’s salaries in AUD (USD/AUD ratio = 1.53)

salary = salary %>% mutate(salary.aud = Salary*1.53)
head(salary)
##   ID      Rank Discipline Yrs.since.phd Yrs.service  Sex NPubs Ncits Salary
## 1  1      Prof          B            19          18 Male    18    50 139750
## 2  2      Prof          B            20          16 Male     3    26 173200
## 3  3  AsstProf          B             4           3 Male     2    50  79750
## 4  4      Prof          B            45          39 Male    17    34 115000
## 5  5      Prof          B            40          41 Male    11    41 141500
## 6  6 AssocProf          B             6           6 Male     6    37  97000
##   salary.level salary.high salary.aud
## 1         High           1   213817.5
## 2         High           1   264996.0
## 3          Low           0   122017.5
## 4       Medium           0   175950.0
## 5         High           1   216495.0
## 6          Low           0   148410.0

8

Select a subset of participants that includes male professors in the theoretical department who had high salaries

male.A.high = subset(salary, Sex=="Male" & Discipline=="A" & salary.high==1)
head(male.A.high)
##      ID Rank Discipline Yrs.since.phd Yrs.service  Sex NPubs Ncits Salary
## 27   27 Prof          A            35          23 Male    20    27 134885
## 110 110 Prof          A            40          31 Male    50    55 131205
## 117 117 Prof          A            30          29 Male    19    83 148500
## 127 127 Prof          A            28          26 Male     2    50 155500
## 135 135 Prof          A            35          25 Male    30    28 168635
## 136 136 Prof          A            20          18 Male    21    31 136000
##     salary.level salary.high salary.aud
## 27          High           1   206374.1
## 110         High           1   200743.6
## 117         High           1   227205.0
## 127         High           1   237915.0
## 135         High           1   258011.6
## 136         High           1   208080.0

9

Create a new data set that includes 4 variables (ID, Rank, Sex and Salary)

id.rank.sex.salary = subset(salary, select = c(ID, Rank, Sex, Salary))
head(id.rank.sex.salary)
##   ID      Rank  Sex Salary
## 1  1      Prof Male 139750
## 2  2      Prof Male 173200
## 3  3  AsstProf Male  79750
## 4  4      Prof Male 115000
## 5  5      Prof Male 141500
## 6  6 AssocProf Male  97000

10

Save all your work and publish it into your Rpubs account - Well, you’re reading it!