Вы можете использовать table
# dummy data
df1 <- data.frame(Sex = c("M", "M", "F", "M", "M", "F"),
Sport = c("N", "Y", "N", "N", "N", "N"), stringsAsFactors = FALSE)
df1
# Sex Sport
#1 M N
#2 M Y
#3 F N
#4 M N
#5 M N
#6 F N
Результат
table(df1)
# Sport
#Sex N Y
# F 2 0
# M 3 1
Вот еще один вариант с reshape2::dcast
reshape2::dcast(df1, Sex ~ paste0("Sport_", Sport),
fun.aggregate = length # default
)
Результат
# Sex Sport_N Sport_Y
#1 F 2 0
#2 M 3 1