根据 dplyr R 中的多个条件删除组
Remove groups based on multiple conditions in dplyr R
我有一个这样的数据
gene=c("A","A","A","A","B","B","B","B")
frequency=c(1,1,0.8,0.6,0.3,0.2,1,1)
time=c(1,2,3,4,1,2,3,4)
df <- data.frame(gene,frequency,time)
gene frequency time
1 A 1.0 1
2 A 1.0 2
3 A 0.8 3
4 A 0.6 4
5 B 0.3 1
6 B 0.2 2
7 B 1.0 3
8 B 1.0 4
我想删除每个基因组,在本例中为 A 或 B,当它们有
frequency > 0.9
在 time==1
在这种情况下,我想删除 A 和我的数据,使其看起来像这样
gene frequency time
1 B 0.3 1
2 B 0.2 2
3 B 1.0 3
4 B 1.0 4
感谢任何提示或帮助
我们可以使用 base R
中的 subset
即创建一个具有多个表达式的逻辑向量提取对应的 'gene',使用 %in%
创建一个逻辑向量,否定 (!
) 到 return 不是的基因。或者也可以将 >
更改为 <=
并删除 !
subset(df, !gene %in% gene[frequency > 0.9 & time == 1])
-输出
gene frequency time
5 B 0.3 1
6 B 0.2 2
7 B 1.0 3
8 B 1.0 4
我有一个这样的数据
gene=c("A","A","A","A","B","B","B","B")
frequency=c(1,1,0.8,0.6,0.3,0.2,1,1)
time=c(1,2,3,4,1,2,3,4)
df <- data.frame(gene,frequency,time)
gene frequency time
1 A 1.0 1
2 A 1.0 2
3 A 0.8 3
4 A 0.6 4
5 B 0.3 1
6 B 0.2 2
7 B 1.0 3
8 B 1.0 4
我想删除每个基因组,在本例中为 A 或 B,当它们有
frequency > 0.9
在 time==1
在这种情况下,我想删除 A 和我的数据,使其看起来像这样
gene frequency time
1 B 0.3 1
2 B 0.2 2
3 B 1.0 3
4 B 1.0 4
感谢任何提示或帮助
我们可以使用 base R
中的 subset
即创建一个具有多个表达式的逻辑向量提取对应的 'gene',使用 %in%
创建一个逻辑向量,否定 (!
) 到 return 不是的基因。或者也可以将 >
更改为 <=
并删除 !
subset(df, !gene %in% gene[frequency > 0.9 & time == 1])
-输出
gene frequency time
5 B 0.3 1
6 B 0.2 2
7 B 1.0 3
8 B 1.0 4