制作由名义组分隔的布尔值直方图

Making a histogram of boolean values separated by nominal groups

目前我有这样一个数据集:

X           observation.ID range.ID Center_Point range.low range.high falls.in.range   V4
       1:              1        1    242601532  11323785   11617177          FALSE KLF4
       2:              1        2    242601532  12645605   13926923          FALSE KLF4
       3:              1        3    242601532  14750216   15119039          FALSE KLF4
       4:              1        4    242601532  18102157   19080189          FALSE KLF4
       5:              1        5    242601532  29491029   30934636          FALSE KLF4
      ---                                                                              
13558714:             83        1      7974990   2940166    7172793          FALSE OCT4
13558715:             83        2      7974990   7880008   13098461           TRUE OCT4
13558716:             83        3      7974990  13556427   13843364          FALSE OCT4
13558717:             83        4      7974990  14113371   15137286          FALSE OCT4
13558718:             83        5      7974990  15475619   19472504          FALSE OCT4

V4 列中有四个名义变量是转录因子。我进行了交叉连接以查看这些 TF 因子是否属于特定系列的数据范围。他们的 center_points(中位数)是否落在该范围内由 falls.in.range 列中的布尔值指定。我希望生成一个直方图,其中 x 轴是四个转录因子 (V4),y 轴是它们落在我正在检查的设定范围内的频率。

生成直方图时如何考虑 falls.in.range 列中的真值与假值?

Hist 适用于数值向量

hist(df$V4[df$falls.in.range==True])

但这行不通,因为 df$V4 不是数字。你想要的是条形图而不是直方图

barplot(table(df$V4[df$falls.in.range==True]))