子集数据集

时间:2018-06-07 20:22:09

标签: r subset

我有以下数据(我只给出前10行)。我希望在TRBV == TRBV20-1subject == 19时获得stim == 1100-2的值的次数。

我尝试使用以下代码来替换数据

new_data <- my_data[my_data (my_data$subject == 'HAT-19' & my_data$stim == '1100-2'), TRBV == 'TRBV20-1')]

它给了我错误。

你能帮忙吗?

subject    stim       TRBV    
   <chr>   <chr>      <chr>   
 1 HAT-19  (2) 1100-2 TRBV20-1
 2 HAT-19  (2) 1100-2 TRBV7-6 
 3 HAT-19  (2) 1100-2 TRBV6-4 
 4 HAT-19  (2) 1100-2 TRBV6-4 
 5 HAT-1001 (3) BSV18  TRBV3-1 
 6 HAT-1  (3) BSV18  TRBV6-4 
 7 HAT-10 (2) 1100-2 TRBV3-1 
 8 HAT-12  (2) 1100-2 TRBV6-4 
 9 HAT-38  (2) 1100-2 TRBV6-1 
10 HAT-15 (2) 1100-2 TRBV6-1 

1 个答案:

答案 0 :(得分:0)

我只想使用dplyr和ifelse语句:

my_data %>%
  mutate(numoftimes = ifelse(subject == 'HAT-19' & stim == '1100-2' & TRBV == 'TRBV20-1',1,0)) %>% 
  sum(numoftimes)