假设我们有以下指标向量:
library(dplyr)
tibble(row = 1:20,
indicator = rep(c(rep(0, 5), 1, rep(0, 4)), 2))
row indicator
<int> <dbl>
1 1 0
2 2 0
3 3 0
4 4 0
5 5 0
6 6 1
7 7 0
8 8 0
9 9 0
10 10 0
11 11 0
12 12 0
13 13 0
14 14 0
15 15 0
16 16 1
17 17 0
18 18 0
19 19 0
20 20 0
如何轻松创建指示符列周围区域的列.例如,如果我想创建三个大小为N=1、3和5的"区域",那么所需的输出应该如下所示:
row indicator region_n1 region_n3 region_n5
<int> <dbl> <dbl> <dbl> <dbl>
1 1 0 0 0 0
2 2 0 0 0 0
3 3 0 0 0 0
4 4 0 0 0 1
5 5 0 0 1 1
6 6 1 1 1 1
7 7 0 0 1 1
8 8 0 0 0 1
9 9 0 0 0 0
10 10 0 0 0 0
11 11 0 0 0 0
12 12 0 0 0 0
13 13 0 0 0 0
14 14 0 0 0 1
15 15 0 0 1 1
16 16 1 1 1 1
17 17 0 0 1 1
18 18 0 0 0 1
19 19 0 0 0 0
20 20 0 0 0 0
当指示器变量中只有一个"1"时,我可以通过排序进行编码,但当有多个"1"时,我就很难做到这一点.任何帮助都非常感谢,谢谢.