library(dplyr)
library(tidyr)
df <- data.frame(Fruits = c("Apple", "Apple", "Banana"),
Name = c("Tom", "Bob", "Tom"),
Count = c(2,2,1))
df
> df
Fruits Name Count
1 Apple Tom 2
2 Apple Bob 2
3 Banana Tom 1
df2 <- df %>%
tidyr::spread(key = Fruits, value = Count) %>%
replace(is.na(.), 0) %>%
dplyr::arrange(desc(Name))
df2
> df2
Name Apple Banana
1 Tom 2 1
2 Bob 2 0