Поднабор данных из фрейма данных с использованием R, так что данные действительны для одного условия и не действительны для остальных условий - PullRequest
0 голосов
/ 04 июня 2019

У меня есть такой фрейм данных

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) равны нулю.

1 Ответ

1 голос
/ 04 июня 2019

С 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"
))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...