【问题标题】:Data transformation in R- columnsR 列中的数据转换
【发布时间】:2021-08-29 22:31:55
【问题描述】:

我的数据框有 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      

感谢您的帮助!

【问题讨论】:

  • 您确定要这些列名吗?这将为每个团队创建单独的列名称,其中大部分将保持 NA。
  • 我猜是因为我每行只需要一天,而我当前的数据框不止一个......

标签: r dataframe reshape tidyr


【解决方案1】:

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

library(tidyr)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多