r - 如果该组的每个样本的阈值均高于该阈值,则选择数据集中的值

标签 r heatmap

我想生成一个heatmap在R中来自类似的dataframe ,仅将 "VALUE" 保持在 0 以上,但对于每个样本,因此在本例中仅丢弃 CLASS "D" :

<表类=“s-表”> <标题> 类别 示例 值 <正文> 一个 X 1 B X 1 C X 1 D X 0 一个 是 1 B 是 1 C 是 0 D 是 0 一个 Z 1 B Z 0 C Z 0 D Z 0

然后制作一个像这样的数据框:

<表类=“s-表”> <标题> 类别 示例 值 <正文> 一个 X 1 B X 1 C X 1 一个 是 1 B 是 1 C 是 0 一个 Z 1 B Z 0 C Z 0 B Z 0 C Z 0 D Z 0

我已经尝试过filter(df, VALUE>0) ,但生成的热图呈现空方 block

有什么建议吗?

谢谢!

最佳答案

按“CLASS”分组后尝试使用any

library(dplyr) #version >= 1.1.0
df1 %>% 
   filter(any(VALUE >0), .by = CLASS)

-输出

   CLASS SAMPLE VALUE
1     A      X     1
2     B      X     1
3     C      X     1
4     A      Y     1
5     B      Y     1
6     C      Y     0
7     A      Z     1
8     B      Z     0
9     C      Z     0

数据

df1 <- structure(list(CLASS = c("A", "B", "C", "D", "A", "B", "C", "D", 
"A", "B", "C", "D"), SAMPLE = c("X", "X", "X", "X", "Y", "Y", 
"Y", "Y", "Z", "Z", "Z", "Z"), VALUE = c(1L, 1L, 1L, 0L, 1L, 
1L, 0L, 0L, 1L, 0L, 0L, 0L)), class = "data.frame", row.names = c(NA, 
-12L))

关于r - 如果该组的每个样本的阈值均高于该阈值,则选择数据集中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75817354/

相关文章:

r - 在 R 中将列表拆分为单独的数据框

r - 使用 readr::parse_double() 解析双分组数

r - 序列按百分比增加

r - 在自定义的JupyterHub用户笔记本图像中包括其他R pkg吗?

r - R中的聚类和热图

python - 在 clustermap 上为等于零的值设置特定颜色

R - 使用 Pheatmap 时的图例标题或单位

r import csv 跳过第一行和最后一行

matlab - 热图中的旋转轴刻度标签

r - 在 R 中并排显示同一 pdf 中的两个热图