Вот базовое решение R:
with(df,table(Month,Alpha))
Alpha
Month A B
April 1 0
Feb 0 1
Jan 2 1
March 2 0
A tidyverse
вариант, который я готовил и который предложил @markus:
df %>%
group_by(Month,Alpha) %>%
summarise(N=n()) %>%
spread(Month,N,fill=0)#can use Alpha instead of Month
Alpha April Feb Jan March
<fct> <dbl> <dbl> <dbl> <dbl>
1 A 1 0 2 2
2 B 0 1 1 0