【发布时间】:2014-08-06 19:30:25
【问题描述】:
我试图在 R 中确定如何拆分具有多个字段和多个分隔符的列。
通过 API,我在名为“位置”的数据框中得到一列。它有多个位置标识符。这是一个条目的示例。 (编辑-我又添加了几个)
6540 BENNINGTON AVE
Kansas City, MO 64133
(39.005620414000475, -94.50998643299965)
4284 E 61ST ST
Kansas City, MO 64130
(39.014638172000446, -94.5335298549997)
3002 SPRUCE AVE
Kansas City, MO 64128
(39.07083265200049, -94.53320606399967)
6022 E Red Bridge Rd
Kansas City, MO 64134
(38.92458893200046, -94.52090062499968)
所以上面是第 1-4 行“位置”列中的条目。
我想将其拆分为地址、城市、州、邮编、长列和纬度列。一些字段由空格或制表符分隔,而另一些则由逗号分隔。也没有什么是固定宽度。
我查看了 reshape 包,但似乎我需要一个分隔符。我不能使用空格(或者我可以吗?),因为地址中有空格。
想法?
【问题讨论】:
-
strsplit允许您指定用于拆分的正则表达式。你甚至尝试过使用它吗? -
在我看来您想要多行阅读。发布一个更完整的数据示例,比如 12-15 行数据。
-
如果您在 R 中名为“Location”的数据框中已有名为“location”的列。发布
head(Location$location, 3)或dput(Location$location[1:3]的输出。你可能想好好看看how to make a great R reproducible example。另外,在不相关的说明中,您知道您可以投票吗?我之所以问,是因为我注意到您从未投票过。 -
了解该格式是否还有其他模式也会很有帮助。例如,这些都是美国地址吗?地址格式在国际上有所不同。您显示的三行中的每一行是否总是由换行符或制表符分隔,并且它们的顺序是否始终相同?国家总是缩写还是有些写出来?邮政编码总是只有 5 位数字版本还是有时是 5 + 4 位数字版本?或者,您是否只关心提取 4 位数字?
-
我又添加了几行(这是来自 KCMO 开源的所有公开数据)。如您所见,格式基本相同。我喜欢添加逗号,然后拆分的想法。会玩的。