【发布时间】:2019-03-03 05:47:20
【问题描述】:
数周以来,我一直在这个网站上寻找许多类似问题的解决方案,但无法弄清楚如何将它们成功地应用于这个特定的问题:
我的数据集位于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 列,其中第 7 列名为“players.stats”,其中包含我想要分解为二维数据框的数据
接下来,我这样做是为了仔细查看“players.stats”列:
player_stats_df2<- ldply(player_stats_df$players.stats, data.frame)
“players.stats”列中的数据格式如下:
列 (player_stats_df2$name) 中有 25 个重复的统计类别,$rounds 列中有另一个嵌套列表...
列$rounds的格式,取消嵌套后,使用:
player_stats_df3<- ldply(player_stats_df2$rounds, data.frame)
在第一列$r 中给出整数(1,2,3,4 作为唯一选项),然后在第二列$rValue 中给出统计值。更复杂的是,有些条目有 2 轮,而另一些有 4 轮
我需要的二维数据帧的最终格式将有来自 player_stats_df 的名为 player.pid 和 player.pn 的列,表示“round.no”的新列,对应于player_stats_df3$r,然后是 25 个中的每一个重复来自player_stats_df2$name 的统计类别作为一列(老鹰、小鸟、帕...数...
例如,Matt Kuchar 将有 4 行,每轮比赛有 1 行,25 个统计类别中的每一个都有一列......但是,其他一些玩家只有 2 行。
如果我可以为这个特定示例澄清这一点,请告诉我 - 我已经尝试了很多方法,但无法以我需要在其中使用它的格式将这些数据重新组合在一起......
【问题讨论】: