DC Introduction to R - Factors

Jmnote (토론 | 기여)님의 2019년 4월 6일 (토) 02:10 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
# DC Introduction to R
DC Introduction to R - Intro to basics
DC Introduction to R - Vectors
DC Introduction to R - Matrices
DC Introduction to R - Factors
DC Introduction to R - Data frames
DC Introduction to R - Lists

1 What's a factor and why would you use it?

# Assign to the variable theory what this chapter is about!
theory <- "factors for categorical variables"

2 What's a factor and why would you use it? (2)

# Sex vector
sex_vector <- c("Male", "Female", "Female", "Male", "Male")

# Convert sex_vector to a factor
factor_sex_vector <- factor(sex_vector)

# Print out factor_sex_vector
print(factor_sex_vector)
# [1] Male   Female Female Male   Male  
# Levels: Female Male

3 What's a factor and why would you use it? (3)

# Animals
animals_vector <- c("Elephant", "Giraffe", "Donkey", "Horse")
factor_animals_vector <- factor(animals_vector)
factor_animals_vector
#[1] Elephant Giraffe  Donkey   Horse   
#Levels: Donkey Elephant Giraffe Horse

# Temperature
temperature_vector <- c("High", "Low", "High","Low", "Medium")
factor_temperature_vector <- factor(temperature_vector, order = TRUE, levels = c("Low", "Medium", "High"))
factor_temperature_vector
#[1] High   Low    High   Low    Medium
#Levels: Low < Medium < High

4 Factor levels

# Code to build factor_survey_vector
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)

# Specify the levels of factor_survey_vector
levels(factor_survey_vector) <- c("Female", "Male")

factor_survey_vector
#[1] Male   Female Female Male   Male  
#Levels: Female Male

5 Summarizing a factor

# Build factor_survey_vector with clean levels
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)
levels(factor_survey_vector) <- c("Female", "Male")
factor_survey_vector
#[1] Male   Female Female Male   Male  
#Levels: Female Male

# Generate summary for survey_vector
summary(survey_vector)
#   Length     Class      Mode 
#        5 character character 

# Generate summary for factor_survey_vector
summary(factor_survey_vector)
#Female   Male 
#     2      3

6 Battle of the sexes

# Build factor_survey_vector with clean levels
survey_vector <- c("M", "F", "F", "M", "M")
factor_survey_vector <- factor(survey_vector)
levels(factor_survey_vector) <- c("Female", "Male")

# Male
male <- factor_survey_vector[1]

# Female
female <- factor_survey_vector[2]

# Battle of the sexes: Male 'larger' than female?
male > female
#[1] NA
#
#Warning message:
#In Ops.factor(male, female) : '>' not meaningful for factors

7 Ordered factors

# Create speed_vector
speed_vector <- c("medium", "slow", "slow", "medium", "fast")

8 Ordered factors (2)

# Create speed_vector
speed_vector <- c("medium", "slow", "slow", "medium", "fast")

# Convert speed_vector to ordered factor vector
factor_speed_vector <- factor(speed_vector, ordered = TRUE, level = c("slow", "medium", "fast"))

# Print factor_speed_vector
factor_speed_vector
#[1] medium slow   slow   medium fast  
#Levels: slow < medium < fast

summary(factor_speed_vector)
#  slow medium   fast 
#     2      2      1

9 Comparing ordered factors

# Create factor_speed_vector
speed_vector <- c("medium", "slow", "slow", "medium", "fast")
factor_speed_vector <- factor(speed_vector, ordered = TRUE, levels = c("slow", "medium", "fast"))

# Factor value for second data analyst
da2 <- factor_speed_vector[2]

# Factor value for fifth data analyst
da5 <- factor_speed_vector[5]

# Is data analyst 2 faster than data analyst 5?
da2 > da5
#[1] FALSE
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}