【问题标题】:Remove Unused categorical values boxplot - R [duplicate]删除未使用的分类值箱线图 - R [重复]
【发布时间】:2013-11-26 17:40:06
【问题描述】:

我有以下代码:

x = rnorm(30, 1, 1)
c = c(rep("x1",10), rep("x2",10), rep("x3",10))
df = dataframe(x,c)
boxplot(x ~ c, data=df)

效果很好。但是,如果我决定不再对查看 x3 感兴趣,请将其删除并重新绘制:

dfMod = subset(df, c %in% c("x1", "x2"))
boxplot(x ~ c,data=dfMod)

箱线图仍然显示 x3 的列。

我试过给箱线图一个提示

boxplot(x~c,data=dfMod, names = c("x1", "x2"))

但这会引发名称大小不正确的错误。提前感谢您的帮助

【问题讨论】:

    标签: r dataframe boxplot


    【解决方案1】:

    subset 之后使用droplevels

    dfMod <- subset(df, c %in% c("x1", "x2"))    
    dfMod$c <- droplevels(dfMod$c)
    boxplot(x ~ c,data=dfMod)
    

    您还可以使用classfactor 更改为character 并在boxplot 调用中设置子集

    class(df) <- c("numeric", "character")
    boxplot(x ~ c, subset=c %in% c("x1", "x2"),  data=df)
    

    【讨论】:

    • 所以显然这是一件容易的事,我对不得不问这个问题感到有点尴尬。所以我可以更好地处理 R 术语,我应该用谷歌搜索什么来找到 droplevels 命令? “从数据框列中删除未使用的分类值”并没有特别有用
    • 如果你在 google 上写下“摆脱 r 中未使用的因素”会给你很多关于降低未使用级别的结果;)
    猜你喜欢
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 2016-09-14
    • 2021-12-17
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多