如何对数据帧进行子集化以获得一系列较小的数据帧?

时间:2017-01-18 15:44:07

标签: r filter dplyr subset tidyverse

我有一个大型数据框,其中包含我正在处理的项目的所有数据,我正在尝试生成一系列包含匹配两列数据的较小数据帧。因此,例如对于下面的示例数据,我需要编写一段脚本,为数据点生成一系列数据框,其中年份和殖民地相同(例如年份= 2012年,殖民地= A;年份= 2012年,殖民地= B )。

year <- c(2012, 2012, 2012, 2012, 2013, 2013, 2013, 2013, 2014, 2014, 2014, 2014)
colony <- c ('A', 'A', 'B', 'B', 'A', 'A', 'B', 'B', 'A', 'A', 'B', 'B')
measurement <- c(4,6,1,4,8,2,1,5,4,1,3,8)
data <- data.frame(year, colony, measurement) 

目前我能做的最好的事情就是单独制作每个人:

A2012 <- filter(data, colony == 'A' & year == 2012)
B2012 <- filter(data, colony == 'B' & year == 2013)

等。 但是,大约需要生成80个数据帧,因此如果可能的话,最好自动执行此操作。 有谁知道我可以更快地做到这一点?

0 个答案:

没有答案