-
新建一个函数,命名为clean_levels。函数输入为一个因子向量,输出为清理后的因子向量。
-
在函数中使用janitor::clean_names()函数,将因子水平中的无效字符(如空格、特殊符号等)转换为下划线"_"
-
使用unique()函数,将因子向量中的重复水平合并
-
返回清理后的因子向量即可
示例代码如下:
# 定义函数clean_levels
clean_levels <- function(factor_vec){
# 使用janitor::clean_names()函数清理因子水平名称
cleaned_factor <- janitor::clean_names(factor_vec, unusual = '_')
# 合并重复水平
unique_factor <- unique(cleaned_factor)
# 返回清理后的因子向量
return(unique_factor)
}
# 测试函数
test_factor <- factor(c("A ", "b*", "C&D", "A", "B", "a ")) # 定义一个因子向量
clean_levels(test_factor) # 输出清理后的因子向量
# 结果为: "a", "a_", "b", "c_d", "a__", "b__"