Я неделями искал на этом сайте множество решений аналогичных проблем, но не могу понять, как успешно применить их к этой конкретной проблеме:
У меня есть набор данных по адресу https://statdata.pgatour.com/r/006/player_stats.json
с использованием:
player_stats_url<-"https://statdata.pgatour.com/r/006/player_stats.json"
player_stats_json <- fromJSON(player_stats_url)
player_stats_df <- ldply(player_stats_json,data.frame)
дает: фрейм данных из 145 строк, по одной для каждого игрока, и 7 столбцов, седьмой из которых называется "player.stats" и содержит данные, которые я хотел бы разбить на двухмерный фрейм данных.
Далее я сделаю это, чтобы поближе взглянуть на столбец "player.stats":
player_stats_df2<- ldply(player_stats_df$players.stats, data.frame)
данные в столбцах "player.stats" отформатированы следующим образом: строки из 25 повторяющихся категорий статистики в столбце (player_stats_df2$name
) и еще один вложенный список в столбце $rounds
... в котором я повторяю ldply, чтобы разложить все, но я не могу шить это логически объединить так, как я хочу ...
формат столбца $rounds
после невложенного, используя:
player_stats_df3<- ldply(player_stats_df2$rounds, data.frame)
дает круглое число в первом столбце $r
(1,2,3,4 как только варианты выбора), а затем значение статистики во втором столбце $rValue
. чтобы усложнить ситуацию, некоторые записи имеют 2 раунда, а другие - 4 раунда
окончательный формат 2-мерного фрейма данных, который мне нужен, будет иметь столбцы с именами player.pid и Players.pn из player_stats_df, НОВАЯ КОЛОНКА, обозначающая «round.no», которая будет соответствовать player_stats_df3$r
, а затем каждой из 25 повторяющихся категорий характеристик из player_stats_df2$name
в виде столбца (орлы, птички, парсы ... SG: Off-the-tee, SG: tee-to-green, SG: Total), причем каждая строка уникальна для имени игрока и номера раунда ...
Например, для Мэтта Кучара было бы четыре строки, по одной на каждый сыгранный раунд, и столбец для каждой из 25 категорий характеристик ... Однако у некоторых других игроков было бы только 2 строки.
Пожалуйста, дайте мне знать, могу ли я вообще прояснить это для этого конкретного примера - я пробовал много вещей, но не могу сшить эти данные обратно вместе в формате, который мне нужно использовать в ...