【发布时间】:2014-03-27 14:25:23
【问题描述】:
我有一个行政区列表和一个地区列表(例如this one)。每个地方恰好位于一个行政区。在 R 中存储这种层次结构的最佳方法是什么,考虑到我希望有一种方便且可读的方式来访问这些,并使用此列表将位置级别的数据累积到自治市镇级别。
我想出了以下几点:
localities <- list("Mitte" = c("Mitte", "Moabit", "Hansaviertel", "Tiergarten", "Wedding", "Gesundbrunnen",
"Friedrichshain-Kreuzberg" = c("Friedrichshain", "Kreuzberg")
)
但我不确定这是否是最优雅且易于使用的方式。
如果我想分配有关地区级别的其他信息,我可以通过将 c(...) 替换为其他调用来做到这一点,例如 rbind(c('0201', '0202'), c("Friedrichshain", "Kreuzberg")) 如果我想向自治市镇级别添加其他信息(如每个列表的缩写名称和全名),我该怎么做?
编辑:例如,我想将this 之类的表格压缩为一个行政区版本。
【问题讨论】:
-
罗兰,你应该做一个小reproducible example of your problem。
-
@BrodieG:你的意思是我的例子是浓缩的?
-
可能,虽然那个很复杂,因为那里的数据似乎是一个距离矩阵,所以不像按行政区查找人口那么简单(所以那里有两个问题,我如何压缩数据,以及如何在元素明智的“距离”矩阵中压缩数据)。如果我是你,我会生成一个包含 9 个城市的距离矩阵版本,然后提供这 9 个城市到每个行政区的映射(并可能选择具有 ASCII 字符名称的城市)。
-
R 在我运行您的代码时抛出一个错误,因为逗号放错了位置。以下是使用您的数据创建 2 元素列表的方法:
localities <- list("Mitte" = c("Mitte", "Moabit", "Hansaviertel", "Tiergarten", "Wedding", "Gesundbrunnen"), "Friedrichshain-Kreuzberg" = c("Friedrichshain", "Kreuzberg")) -
您可能还会发现使用
readHTMLTables()直接从页面中提取数据很有用。下面我举个例子。