繁体   English   中英

从 R 中的箱线图中删除一个类别

[英]Removing a category from boxplot in R

我正在尝试在 dataframe 上制作带有字符的箱线图(使用“stringsAsFactors = FALSE”命令导入 dataframe 时删除了因子级别)。 这是我的 plot 的示例代码:

boxplot(df$H~df$C, outline=F, na.rm = T, ylab="H", xlab="C", main="H by C", ylim=c(min(df$H),max(df$H)))

问题是 x 轴上的类别之一是我想删除的“0”。 有没有办法防止这个类别被绘制?

假设 df$C 是包含要排除的分类值“0”的字段,您可以创建一个新数据框,然后将其用于 plot。

# exclude records with df$C value equal to 0
nonzero_df = df[df$C != "0"]

# produce boxplot
boxplot(nonzero_df$H~df$C, outline=F, na.rm = T, ylab="H", xlab="C", main="H by C", ylim=c(min(nonzero_df$H),max(nonzero_df$H)))

您将需要删除0级别:

数据:

df <- data.frame(
  v1 = c("A", "A", "A", "0", "B", "0", "B"),
  v2 = c(12, 23, 34, 45, 56, 67, 78)
)

解决方案:

df2 <- droplevels(df[-which(df$v1=="0"), ]) # drop level
boxplot(df2$v2 ~ df2$v1)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM