Распространение [tidyr] с одним ключом и несколькими столбцами значений - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь использовать spread как часть пакета tidyr.У меня есть один key столбец (structure_type) и четыре value столбца.(structure_type содержит три факторных уровня.) Вся документация, которую я видел, предполагает, что spread может использоваться только для одного key столбца и одного value столбца.Но похоже, что это должно быть возможно сделать это.Возможно, мне лучше использовать библиотеку reshape?

Этот ответ подошел близко, но я не смог его воспроизвести.

library(tidycensus)
library(tidyr)
units_str_puma <- get_acs(geography = 'public use microdata area', table = "B25024",
                     state = c('OR', 'WA'))
units_str2_puma <- units_str_puma %>%
  mutate(structure_type = case_when(variable == "B25024_001" ~ "Total units",
                                    variable %in% c("B25024_002", "B25024_003") ~ "One-unit structure",
                                    TRUE ~ "Other")) %>%
  group_by(structure_type, GEOID) %>%
  summarize(units = sum(estimate),
            units_moe = moe_sum(moe = moe, estimate = estimate),
            units_cv = units_moe/1.645/units,
            units_cv_flag = case_when(units_cv > 0.4 ~ 1,
                                      TRUE ~ 0)) %>%
  spread(key=structure_type, value=c(units, units_moe, units_cv, units_cv_flag), drop=FALSE)

Data structure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...