1

我是 R 的新手,我正在尝试使用 ggplot 和一些逆向工程来制作一些图形。我有一个数据框:

> data
       experiments percentages
  1    A           72.11538
  2    A           90.62500
  3    A           91.52542
  4    B           94.81132
  5    B           96.95122
  6    B           98.95833
  7    C           83.75000
  8    C           84.84848
  9    C           91.12903

因为A和B是相似的实验我做了以下

data$experiments[data$experiments == "B"] = "A"

如果我现在这样做

ggplot(data, aes(x = experiments, y = percentages)) + geom_boxplot()

我得到了一个 A 的盒子,一个 C 的盒子,但我仍然得到一个 B 的标签!

有什么办法可以去掉 X 轴上的 B?

非常感谢你的帮助

4

1 回答 1

3

我猜这experimentsdata一个因素。如果您运行str(data),我想这experiments是一个具有 3 个级别的因子:A、B 和 C。默认情况下,创建数据框时字符串会转换为因子。

因子的概念是它们代表一组可能的值,即使不是所有的可能性都在实际数据中。有两种方法可以解决此问题。

将列转换为字符串

data$experiments <- as.character(data$experiments)

或删除因子中未使用的级别

data$experiments <- droplevels(data$experiment)
于 2012-01-17T19:00:49.440 回答