创建 DF 的子集示例(实际部分的代码在最后)
ANO_CENSO PK_COD_TURMA PK_COD_ENTIDADE MAIS_ENSINO_FUND MAIS_ENSINO_MED ENSINO_INTEG_FUND ENSINO_INTEG_MED
2011 27 12 1 0 0 1
2011 41 12 1 1 0 0
2011 18 13 0 0 0 1
2011 16 14 1 1 0 1
我想将具有相同 PK_COD_ENTIDADE 值的行合并为一个,并为具有相同 PK_COD_ENTIDADE 的假人保留值“1”。我不关心 PK_COD_TURMA 中的不同值,不管一个留在最后的 DF(27 还是 41)。我的 DF 有多个变量,例如 PK_COD_TURMA,我不关心最终值,重要的是 PK_COD_ENTIDADE 和值为“1”的假人最后看起来像这样:
ANO_CENSO PK_COD_TURMA PK_COD_ENTIDADE MAIS_ENSINO_FUND MAIS_ENSINO_MED ENSINO_INTEG_FUND ENSINO_INTEG_MED
2011 27 12 1 1 0 1
2011 18 13 0 0 0 1
2011 16 14 1 1 0 1
看看我如何在 PK_COD_ENTIDADE = 12 的第一次观察中获得 2 个假人的值“1”和另一个 PK_COD_ENTIDADE = 12 的假人中的另一个值“1”,最后它们合并在一个单一的观察中相同的 PK_COD_ENTIDADE保持不同的假人“1”(对于不同的观察,相同的假人与1的总和不等于2,因为它们是假人)
我不知道该怎么做,我用 dplyr 搜索了一些解决方案,但无法应用任何接近工作的东西......
这是包含所有变量的 df 的结构:
dftest2 <- structure(list(ANO_CENSO = c(2011, 2011, 2011, 2011), PK_COD_TURMA = c(27,
41, 18, 16), NU_DURACAO_TURMA = c(250, 255, 255,
255), FK_COD_ETAPA_ENSINO = c(41, 19, 19, 19), PK_COD_ENTIDADE = c(12,
12, 13, 14), FK_COD_ESTADO = c(11, 11, 11,
11), SIGLA = c("RO", "RO", "RO", "RO"), FK_COD_MUNICIPIO = c(1100023,
1100023, 1100023, 1100023), ID_LOCALIZACAO = c(1, 1, 1, 1), ID_DEPENDENCIA_ADM = c(2,
2, 2, 2), MAIS_ENSINO_FUND = c(1, 1, 0, 1), MAIS_ENSINO_MED = c(0,
1, 0, 1), ENSINO_INTEG_FUND = c(0L, 0L, 0L, 0L), ENSINO_INTEG_MED = c(1L,
0L, 1L, 1L)), row.names = c(NA, -4L), class = c("tbl_df", "tbl",
"data.frame"))