Все мои столбцы в формате строки.Как я могу изменить фрейм данных, чтобы каждая строка была превращена в столбец на основе каждого идентификатора команды - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь очистить некоторые данные для анализа футбола, который я хотел сделать.Моя проблема в том, что я не могу понять, как правильно изменить мой фрейм данных.Без картинки я действительно ничего не могу сделать, чтобы правильно ее объяснить.

Вот скриншот моих данных.

https://imgur.com/a/9MkZqNC

Я бы хотел, чтобы данные выгляделинапример,

Столбцы: Team XG Offense XG Defense

Строка A: Команда A Связанная мера. Значение, связанное с мерой. Значение

ROW B: ... ......

1 Ответ

0 голосов
/ 05 февраля 2019

Создание фрейма данных для демонстрационных целей

df <- structure(
  list(
    Measure.Names = structure(
      c(1L, 1L, 1L, 1L, 2L,
        2L, 2L, 2L),
      .Label = c("Over Perform XG - Defense", "Over Perform XG - Offense"),
      class = "factor"
    ),
    Team = structure(
      c(4L, 3L, 2L, 1L, 4L,
        3L, 2L, 1L),
      .Label = c(
        "Bournemouth",
        "Brighton and Hove Albion",
        "Burnley",
        "Cardiff City"
      ),
      class = "factor"
    ),
    Measure.Values = structure(
      1:8,
      .Label = c("1",
                 "2", "3", "4", "5", "6", "7", "8"),
      class = "factor"
    )
  ),
  class = "data.frame",
  row.names = c(NA,-8L)
)

df
#>               Measure.Names                     Team Measure.Values
#> 1 Over Perform XG - Defense             Cardiff City              1
#> 2 Over Perform XG - Defense                  Burnley              2
#> 3 Over Perform XG - Defense Brighton and Hove Albion              3
#> 4 Over Perform XG - Defense              Bournemouth              4
#> 5 Over Perform XG - Offense             Cardiff City              5
#> 6 Over Perform XG - Offense                  Burnley              6
#> 7 Over Perform XG - Offense Brighton and Hove Albion              7
#> 8 Over Perform XG - Offense              Bournemouth              8

Пользовательский тидир :: распространение для транспонирования

tidyr::spread(df, Measure.Names, Measure.Values)
#>                       Team Over Perform XG - Defense
#> 1              Bournemouth                         4
#> 2 Brighton and Hove Albion                         3
#> 3                  Burnley                         2
#> 4             Cardiff City                         1
#>   Over Perform XG - Offense
#> 1                         8
#> 2                         7
#> 3                         6
#> 4                         5

Создано в 2019-02-06 пакетом Представить (v0.2.0).

...