0

Hello I have the following database

depa2<-c("La Paz","La Paz","La Paz"      
         ,"La Paz"      , "La Paz"  ,     "La Paz"      
         , "La Paz"   ,    "La Paz"   ,    "La Paz"      
         ,"La Paz"   ,    "La Paz","Cabañas"     
         ,"Cabañas" ,     "Usulután"    , "Usulután"    
         ,"Usulután"     ,"Usulután"    , "Usulután")


condition<-c( "Aprobado",
       "Reprobado", "Reprobado", "Reprobado", "Reprobado"
      ,"Reprobado", "Aprobado" ,"Aprobado", "Reprobado"
       ,"Aprobado" , "Reprobado", "Reprobado", "Reprobado"
      ,"Reprobado" , "Aprobado", "Reprobado"
     , "Aprobado", "Reprobado")


data<-data.frame(depa2,condition)


What I want is to get the following

| -------- | Aprobados |   Reprobados |

| La Paz   | 1         | 6            |

| Cabañas   | 1          | 8          |

| Usulután  | 0          | 4          |

is there any way to do it with dplyr?

www
  • 38,575
  • 12
  • 48
  • 84
yefersonG
  • 151
  • 8

2 Answers2

1

Try this

library(dplyr)
data %>% group_by(depa2 , condition) %>% tally() %>%
 tidyr::pivot_wider(names_from = condition , values_from = n , values_fill = 0)
Mohamed Desouky
  • 4,340
  • 2
  • 4
  • 19
0

Base R option:

with(data,table(depa2, condition)) 

Output:

          condition
depa2      Aprobado Reprobado
  Cabañas         0         2
  La Paz          4         7
  Usulután        2         3
Quinten
  • 35,235
  • 5
  • 20
  • 53