У меня есть такой фрейм данных
#dt # a b c #1: a 1 d #2: a 1 d #3: b 0 b #4: b 1 d #5: b 0 b
И то, что я хотел бы получить, это columnt со счетчиком для каждого числа строк, которое соответствует следующим критериям: b = 1 и c = d
#dt # a b c counter #1: a 1 d 2 #2: a 1 d 2 #3: b 0 d 1 #4: b 1 d 1 #5: b 0 b 0
Есть идеи как это сделать?
Попробуйте это:
library(dplyr) dt = data.frame(a = c("a","a","b","b","b"), b= c(1,1,0,1,0), c = c("d","d","b","d","b")) dt <- dt %>% mutate(counter = (b == 1) +( c == "d") )
Я использовал ответ @FALL Gora
dt %>% mutate(counter = as.numeric(((b == 1) & ( c == "d"))))
, но я добавил
dt %>% group_by(a) %>% mutate(counter1=sum(counter))
и теперь он работает