droplevels() function in R programming used to remove unused levels from a Factor.
Python3
Output:
Python3
Output:
Syntax: # For vector object droplevels(x, exclude = if(anyNA(levels(x))) NULL else NA, ...) # For data frame object droplevels(x, except, exclude) Parameter values: x represents object from which unused level has to be dropped exclude represents factor levels which should be excluded even if present except represents indices of columns from which levels should not be droppedExample 1:
# Defining vector
x <- c(1, 3, 4, 8, 1, 5, 4, 4, 5, 6)
# Defining factor object for vector
f <- factor(x)
# Print factor object
cat("Factor object before deleting value:\n")
print(f)
cat("\n")
# Delete value at index 2
f <- f[-2]
# Print factor object
cat("Factor object after deleting value:\n")
print(f)
cat("\n")
cat("After dropping unused level:\n")
new_f <- droplevels(f)
print(new_f)
Factor object before deleting value: [1] 1 3 4 8 1 5 4 4 5 6 Levels: 1 3 4 5 6 8 Factor object after deleting value: [1] 1 4 8 1 5 4 4 5 6 Levels: 1 3 4 5 6 8 After dropping unused level: [1] 1 4 8 1 5 4 4 5 6 Levels: 1 4 5 6 8Example 2:
# Defining columns
x <- factor(c(7, 3, 3, 7, 5, 5, 1))
y <- factor(c(1, 1, 1, 4, 4, 4, 2))
z <- c(1, 5, 3, 2, 9, 4, 7)
# Defining data frame
df <- data.frame(x, y, z)
df <- df[1:6, ]
# Print structure of data frame
str(df)
cat("\n")
# Drop levels from data frame
df_drop <- droplevels(df)
# Print structure of new data frame
str(df_drop)
'data.frame': 6 obs. of 3 variables: $ x: Factor w/ 4 levels "1", "3", "5", "7": 4 2 2 4 3 3 $ y: Factor w/ 3 levels "1", "2", "4": 1 1 1 3 3 3 $ z: num 1 5 3 2 9 4 'data.frame': 6 obs. of 3 variables: $ x: Factor w/ 3 levels "3", "5", "7": 3 1 1 3 2 2 $ y: Factor w/ 2 levels "1", "4": 1 1 1 2 2 2 $ z: num 1 5 3 2 9 4