Подмножество строк на основе значений столбца - PullRequest
0 голосов
/ 24 мая 2019

Мне нужно подстроить строки на основе отфильтрованных значений столбца и группы другим столбцом.

    Bowler               dismissal_kind      
    F du Plessis          stumped   
    MJ McClenaghan        run out   
    F du Plessis          bowled
    HH pandya              lbw
    HH pandya             bowled
    F du Plessis          caught
    F du Plessis          run out
    JJ Bumrah             caught 
    DL Chahar

Я пытался использовать max и count, но не получилось.Dismissal_kind здесь является символьной переменной.

innings%>%
summarise(wickets =  max(count(dismissal_kind %in% c("stumped", 
"bowled", "lbw","caught"))))%>%
group_by(bowler)%>%
arrange(desc(wickets))%>%
top_n(10)

Я хочу сгруппировать по котелкам и считать только отфильтрованные строки.Я хочу что-то вроде

bowler              dismissal_kind
F du Plessis         3
HH pandya            2
JJ Bumrah            1

How can i achieve this result. I am not able to sum this character variable. Is there any workaround to achieve this expected result.

1 Ответ

0 голосов
/ 24 мая 2019

Вы можете суммировать вхождения TRUE в своем утверждении dismissal_kind %in% c("stumped", "bowled", "lbw","caught"), следовательно,

tb %>% 
  group_by(Bowler) %>% 
  summarise(Count_Wickets = sum(dismissal_kind %in% c("stumped", 
                                      "bowled", "lbw","caught"))) %>% 
  arrange(desc(Count_Wickets))

# A tibble: 5 x 2
  Bowler         Count_Wickets
  <chr>                  <int>
1 F du Plessis               3
2 HH pandya                  2
3 JJ Bumrah                  1
4 DL Chahar                  0
5 MJ McClenaghan             0

Данные:

tibble::tribble(
~Bowler, ~dismissal_kind,      
"F du Plessis", "stumped",   
"MJ McClenaghan", "run out",   
"F du Plessis", "bowled",
"HH pandya", "lbw",
"HH pandya", "bowled",
"F du Plessis", "caught",
"F du Plessis", "run out",
"JJ Bumrah", "caught",
"DL Chahar", NA    
) -> tb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...