【发布时间】:2017-01-05 13:16:18
【问题描述】:
我想将一个数据框转换为另一个数据框。如果可能,在更少的命令中,使用dplyr 或tidyr 会很棒。
为了解析我使用library(rjson)的坐标列表,这部分没问题,但我无法进一步操作列表以获得我的结果。
如果您可以避免使用任何for 语句会很好,但任何解决方案都是好的,只要它解决了问题:)
输入:
df <- data.frame(code = c("12000", "89000"),
polygon = c("[[[11,12], [13,14], [15,16]], [[21, 22], [23,24], [25,26]]]",
"[[[81,82], [83,84], [85,86]]]"))
df
> df
code polygon
1 12000 [[[11,12], [13,14], [15,16]], [[21, 22], [23,24], [25,26]]]
2 89000 [[[81,82], [83,84], [85,86]]]
输入数据说明:
-
code列包含邮政编码 - 列
polygon包含一个或多个由其经纬度点对定义的多边形
想要的输出:
> wanted
a lon lat id
1 12000 11 12 1
2 12000 13 14 1
3 12000 15 16 1
4 12000 21 22 2
5 12000 23 24 2
6 12000 25 26 2
7 89000 81 82 1
8 89000 83 84 1
9 89000 85 86 1
我想使用 ggplot 绘制想要的 data.frame。
【问题讨论】:
-
找不到将
tidyjson与数组/未命名属性一起使用的方法。在这种情况下你会如何使用spread_values?
标签: json r dataframe dplyr tidyr