下面是示例数据
indcode <- c(71,72,81,82,99,000000,71,72,81,82,99,000000)
year <- c(2020,2020,2020,2020,2020,2020,2021,2021,2021,2021,2021,2021)
employment <- c(3,5,7,9,2,26,4,6,8,10,3,31)
test <- data.frame(indcode, year, employment)任务是创建一个新列,该列的值为每年000000。我知道这涉及到一个更广泛的枢轴,但如何让000000重复是我的奋斗。下面是期望的结果。希望没有000000 (总计,所有行业)是一排。从本质上说,这是一个重复。
Year indcode employment total
2020 71 3 26
2020 72 5 26
2020 81 7 26
2020 82 9 26
2020 99 2 26
2021 71 4 31
and so on... 发布于 2022-07-15 19:58:07
我们可以通过检测一个或多个零(+),从'indcode‘中字符串的开始(^)到末尾($)到每’年份‘(分组)的“雇用”子集,创建一个新列,然后将0行划出。
library(dplyr)
library(stringr)
test %>%
group_by(year) %>%
mutate(total = employment[str_detect(indcode, '^0+$')]) %>%
ungroup %>%
filter(str_detect(indcode, "^0+$", negate = TRUE))https://stackoverflow.com/questions/72998797
复制相似问题