【发布时间】:2019-08-28 19:47:52
【问题描述】:
我使用 fromJSON() 将数据从 api 拉入 R,然后使用 jsonlite 中的 flatten()。为什么有些列仍然是嵌套列表?
teamstats <- fromJSON(getURL("https://statsapi.web.nhl.com/api/v1/teams?expand=team.stats"))
teamstatsflat <- flatten(teamstats$teams)
str(teamstatsflat)
查看结构显示 $splits 仍被视为一个列表,并且没有被取消嵌套,但所有其他列表都已取消嵌套。我对 R 很陌生,所以这可能是一个愚蠢的问题,但我们将不胜感激。
【问题讨论】:
-
flatten只允许您展平一级数据,您可以使用flatten(flatten(x))进一步展平列表。但我想你可能想要的是?unlist而不是flatten -
您提供的网址返回 404 错误,所以我忍不住给出一个工作示例
-
我已更新网址。我尝试使用 flatten(flatten(x)),但这不起作用。我将研究 unlist 函数。谢谢。
-
在你的情况下,做
flatten(flatten(teamstats)),它应该会给你一些回报。那是你要的吗?您期望的输出格式是什么? -
flatten(flatten(teamstats))返回Error in flatten(teamstats) : is.data.frame(x) is not TRUE。我希望创建一个新的数据框,该数据框将基础数据中的所有变量放在单独的列中。
标签: r