如何在R语言中用单行代码提取数据框中的多边形坐标并格式化输出
如何在R语言中用单行代码提取数据框中的多边形坐标并格式化输出
当然可以实现啦!在R里处理这种坐标格式化需求简直小菜一碟,用基础的字符串函数就能轻松搞定,甚至一行代码就能达成目标。
给你两种实用的方法,按需选择:
方法一:按行遍历拼接(直观易懂)
这种方法用apply按行处理数据框,把每一行的x和y先拼成带空格的字符串,再把所有行用逗号分隔,最后补上前后括号:
# 假设你的数据框名为df formatted_coords <- paste0("(", paste(apply(df, 1, function(row) paste(row[1], row[2])), collapse = ", "), ")")
方法二:向量直接拼接(效率更高)
如果你的数据量比较大,更推荐这种方法——直接对x和y列做向量级操作,比按行遍历更快:
formatted_coords <- paste0("(", paste(df$x, df$y, sep = " ", collapse = ", "), ")")
运行任意一种代码后,formatted_coords就是你想要的格式:
(-80.59264 40.88406, -80.50539 40.91076, -80.41909 40.93284, -80.32967 40.94047, -80.24228 40.93894, -80.16811 40.93434...)
要是你想把这个结果直接替换原数据框(或者作为新列),直接赋值就行,比如df$coords <- formatted_coords。
备注:内容来源于stack exchange,提问作者Tristan
相关产品推荐
相关产品推荐

