我有这样的数据框
Subject stim GZMB TNF IFNg
HC no stim 1 1 0
EC 1100 0 1 0
CH no stim 0 0 1
我想对数据进行子集化,以便获得 GZMB 为 1 而所有其他值(TNF、IFNg(为零的主题和刺激值。
使用 dplyr
,您可以使用:
library(dplyr)
df %>%
mutate(Sum=colSums(.[,-c(1,2)])) %>%
filter(Sum==1 & GZMB==1)
Subject stim GZMB TNF IFNg Sum
1 1100 0 1 0 NA 1
数据:
df<-structure(list(Subject = c("no", "1100", "no"), stim = c("stim",
"0", "stim"), GZMB = c(1L, 1L, 0L), TNF = c(1L, 0L, 0L), IFNg = c(0L,
NA, 1L)), class = "data.frame", row.names = c("HC", "EC", "CH"
))