【发布时间】:2016-03-06 03:41:21
【问题描述】:
在从其他整洁的数据框创建 SpatialLines 对象时,我希望能够使用更多的自动化。
library(sp)
#create sample data
sample_data <- data.frame(group_id = rep(c("a", "b","c"), 10),
x = rnorm(10),
y = rnorm(10))
#How can I recreate this using dplyr?
a_list <- Lines(list(Line(sample_data %>% filter(group_id == "a") %>% select(x, y))), ID = 1)
b_list <- Lines(Line(list(sample_data %>% filter(group_id == "b") %>% select(x, y))), ID = 2)
c_list <- Lines(Line(list(sample_data %>% filter(group_id == "c") %>% select(x, y))), ID = 3)
SpatialLines(list(a_list, b_list, c_list))
如果您了解如何将数据通过管道传输到列表中,您会看到使用 group_by 之类的东西会如何使该过程变得非常简单。
【问题讨论】:
-
将
library(sp)添加为脚本的顶部对于看不到标签的人会很有用!