首页 > 解决方案 > 在子集数据框中有多个条件

问题描述

我正在尝试使用子集函数过滤数据框,我有许多要附加的标签,我只想要一个特定的 15 个标签。

数据框(示例):

X1     | X2    | Value
GCF2423 GCF1393   0
GCF2423 GCF1520   0
GCF2423 GCF3487   1
GCF1393 GCF2423   0
GCF1393 GCF1520   1
GCF1520 GCF1393   0
GCF1520 GCF3517   1
GCF3487 GCF1520   0

代码片段 1

p <- ggplot(data = dfids, aes(X1, X2)) + geom_tile(aes(fill = factor(value, 
                                                                     levels = c(-1, 0, 1))), colour = "white")

p <- p + geom_label_repel(data = dfids), aes(label = X1), size=2.5,nudge_x=-2,nudge_y=-2)

哪个生产图:

在此处输入图像描述

如前所述,我想做各种条件,为此我在我的数据帧上使用了子集的方法,如下所示,当我尝试做多个条件时,它只使用前两个可用的条件。我不确定是否必须修改aes()函数而不是subset()函数。

代码片段 2

p <- p + geom_label_repel(data = subset(dfids, X1 == "GCF2423" | X1 == "GCF1520" | X1 == "GCF1393"), 
                            aes(label = X1), size=2.5,nudge_x=-2,nudge_y=-2)

哪个产生图:

在此处输入图像描述

标签: rdataframeggplot2

解决方案


我重新创建了您的情况,但我能够毫无问题地使用子集功能。

您是否在 ggplot 之外测试了子集函数,并且那里的结果是否相同?


推荐阅读