R 列中的数据转换

Data transformation in R- columns

我的数据框有 n 个日期

Date         team_home  team_away   prob_home   draw    prob_away
01/01/2021   Brazil     Germany      95.0        5.0     0.0
01/01/2021   England    Belgium      50.0        10.0    40.0
02/01/2021   Belgium    Canada       90.0        7.0     3.0
02/01/2021   Germany    France       60.0        10.0    30.0
 ...          ....       ...         ...         ...     ...

所需的数据框。重要提示:每行只有一个日期

Date          prob_Brazil    draw_Brazil_Germany  prob_Germany  prob_England  draw_England_Belgium  prob_Belgium ....
01/01/2021    95.0           5.0                    0.0            50.0          10.0                40.0
02/01/2021    NA             NA                    60.0            NA              NA               90.0      

感谢您的帮助!

您可以使用它,但输出可能不太理想:

library(tidyr)

df %>%
  pivot_wider(names_from = c(team_home, team_away), 
              values_from = c(prob_home, draw, prob_away))