如何从模型矩阵中删除未使用的级别
How to remove unused levels from model matrix
我创建了一个模型矩阵。一些变量是类别变量。
过滤数据后,某些级别不再存在于数据集中。
我怎样才能删除未使用的级别?
我可以在分类变量上应用因子函数吗?
您可以使用 base R 中的 droplevels
函数。让 x 成为您的因素/分类变量:
x <- as.factor(c("cat", "dog","cat", "gator"))
x
# [1] cat dog cat gator
# Levels: cat dog gator
# somewhere in analysis you removed the only entry for a level
x <- x[x!= "gator"]
x
# [1] cat dog cat
# Levels: cat dog gator
droplevels(x)
# [1] cat dog cat
# Levels: cat dog
参考droplevels R documentation了解更多详情。
我创建了一个模型矩阵。一些变量是类别变量。 过滤数据后,某些级别不再存在于数据集中。 我怎样才能删除未使用的级别? 我可以在分类变量上应用因子函数吗?
您可以使用 base R 中的 droplevels
函数。让 x 成为您的因素/分类变量:
x <- as.factor(c("cat", "dog","cat", "gator"))
x
# [1] cat dog cat gator
# Levels: cat dog gator
# somewhere in analysis you removed the only entry for a level
x <- x[x!= "gator"]
x
# [1] cat dog cat
# Levels: cat dog gator
droplevels(x)
# [1] cat dog cat
# Levels: cat dog
参考droplevels R documentation了解更多详情。