# # Unit 7 - Data frames # # Column names and row labels # # Column names # Getting column names id <- c(1, 2, 3, 4) gender <- c(2, 2, 1, 2) educ <- c(12, 12, 15, 10) salary <- c(11912.44, 10753.82, 5113.94, 8883.05) employees <- data.frame(id, gender, educ, salary) print(employees) print(names(employees)) print(class(names(employees))) print(colnames(employees)) setwd("c:/R") employees <- read.csv("employees.csv") print(employees) print(names(employees)) # Setting names while producing a data frame # data.frame() # also applies to cbind() employees <- data.frame(id, SEX = gender, YEARS = educ, INCOME = salary) print(employees) print(names(employees)) # Changing names after producing a data frame employees <- read.csv("employees.csv") print(names(employees)) names(employees) <- c("ID","FNAME", "LNAME", "SEX", "YEARS","INCOME") print(employees) print(names(employees)) # Note - a change in data.frame whose # source is in a data file does not change # the data file. employees <- read.csv("employees.csv") print(employees) # Back to chaning names # Any guess about the result of # This attempt to change the # one column's name? employees <- read.csv("employees.csv") print(names(employees)) names(employees) <- c("EDUC") print(employees) print(names(employees)) # Changing names: with dplyr's rename() # We must first import the required library. library(dplyr) # producing a new data frame with # different name(s) employees <- read.csv("employees.csv") print(names(employees)) newEmployees <- rename (.data = employees, YEARS = EDUC) print(newEmployees) print(names(newEmployees)) # The column names in the original # data frame are not changed. print(names(employees)) # Changing more than one name employees <- read.csv("employees.csv") newEmployees <- rename (.data = employees, SEX = GENDER, YEARS = EDUC) print(names(newEmployees)) # Row labels # Getting them employees <- read.csv("employees.csv") print(employees) print(rownames(employees)) print(class(rownames(employees))) # changing them print(letters) rownames(employees) <- letters[1:10] print(employees) print(rownames(employees))