R语言 从一个因子中删除水平 – droplevels()函数

R语言 从一个因子中删除水平 – droplevels()函数

R编程中的droplevels()函数用于从一个因子中删除未使用的水平。

语法:

对于向量对象

droplevels(x, exclude = if(anyNA(level(x)) )NULL else NA, …)

对于数据框架对象

droplevels(x, except, exclude)

参数值:

x 代表对象,其中未使用的级别必须被剔除

exclude 代表即使存在也应该被剔除的因子级别

except 代表不应该被剔除的级别的列的索引

例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)
R

输出

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 8
R

例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)
R

输出

'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
R

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册