I have a data frame like so:
df <- structure(list(A = c(\"3 of 5\", \"1 of 2\", \"1 of 3\", \"1 of 3\",
\"3 of 4\", \"2 of 7\"), B = c(\"2 of 2\", \"2 of
One approach:
library(tidyverse)
df %>%
rownames_to_column("id") %>%
gather(group, value, -id) %>%
separate(value, into = c("attempted", "landed"), sep = " of ") %>%
gather(key, value, -id, -group) %>%
unite(new, group, key, sep = "_" ) %>%
spread(new, value)
# A tibble: 6 x 11
id A_attempted A_landed B_attempted B_landed C_attempted C_landed D_attempted D_landed E_attempted E_landed
1 1 3 5 2 2 10 21 0 0 8 16
2 2 1 2 2 4 3 14 0 0 3 15
3 3 1 3 0 1 11 34 0 0 10 32
4 4 1 3 0 0 10 35 0 0 6 28
5 5 3 4 0 0 16 53 0 0 13 49
6 6 2 7 0 0 17 62 0 0 9 48