R-glm()公式排除带条件的变量

R-glm()公式排除带条件的变量,r,R,我是新手 假设我想排除因子级别为4和5的分类变量。如何在glm()中仅使用公式执行此操作 示例: setNames(levels(factor(df$category)), seq_along(levels(factor(df$category)))) # 1 2 3 4 5 # hardline softline foodline softgoods hardgoods # Convert to categor

我是新手

假设我想排除因子级别为4和5的分类变量。如何在
glm()
中仅使用公式执行此操作

示例:

setNames(levels(factor(df$category)), seq_along(levels(factor(df$category))))
#     1         2         3         4          5
# hardline  softline  foodline  softgoods  hardgoods

# Convert to categorical codes
df$category <- factor(as.numeric(factor(df$category)))

# Remove category with the factor level of 4 and 5
glm(resolution_time ~ division + category, data = df)
setNames(levels(factor(df$category)),seq_(levels(factor(df$category)))
#     1         2         3         4          5
#硬线软线食品软线硬线
#转换为分类代码

df$category如果您希望根据您可以执行的操作删除因子级别:

df$category <- factor(df$category)

glm(resolution_time ~ division + category, data = df, 
    subset = !category %in% levels(category)[4:5])

df$类别不需要仅基于订购的编号。例如,系数级别为2和100。有没有可能用公式的方式,比如
resolution\u time~ division+category-category\u factor\u level\u 2-category\u factor\u level\u 10
你想从模型数据中删除这些观测值?你不应该把它包括在公式中。你可以做
glm(分辨率时间分区+类别,数据=df,子集=!类别%in%级别(类别)[c(2100)])
glm(分辨率时间分区+类别,数据=df,子集=!类别%in%c('category\u factor\u level\u 2','category\u factor\u level\u 10'))
非常感谢。我相信这个答案对于我的用例来说已经足够了。如果你有空闲时间,你能快速浏览一下这个问题吗?非常感谢。