У меня есть следующий кадр данных:Агрегация в базе R?
df <- data.frame(ID = sample(1:100, 64),
Facility=rep(c("A","B","C","D"), each=4, times=4),
MMWR = rep(c("1503","1504","1505", "1506"), 16),
Age = sample(1:4, 64, replace=TRUE))
ID Facility MMWR Age
1 86 A 1503 4
2 85 A 1504 3
3 37 A 1505 1
4 77 A 1506 1
5 73 B 1503 2
6 40 B 1504 2
7 2 B 1505 3
8 97 B 1506 3
9 83 C 1503 4
10 80 C 1504 4
11 69 C 1505 3
12 93 C 1506 3
13 56 D 1503 3
14 12 D 1504 4
15 1 D 1505 2
16 72 D 1506 1
17 90 A 1503 1
18 95 A 1504 2
19 78 A 1505 4
20 98 A 1506 2
21 68 B 1503 2
22 38 B 1504 4
23 21 B 1505 2
24 3 B 1506 2
25 16 C 1503 4
26 74 C 1504 2
27 27 C 1505 4
28 6 C 1506 2
29 64 D 1503 1
30 59 D 1504 3
31 65 D 1505 3
32 53 D 1506 4
33 9 A 1503 1
34 22 A 1504 1
35 62 A 1505 1
36 26 A 1506 2
37 31 B 1503 3
38 100 B 1504 2
39 47 B 1505 1
40 36 B 1506 3
41 60 C 1503 3
42 18 C 1504 2
43 10 C 1505 3
44 51 C 1506 3
45 44 D 1503 3
46 54 D 1504 4
47 76 D 1505 3
48 67 D 1506 3
49 28 A 1503 1
50 58 A 1504 4
51 23 A 1505 1
52 71 A 1506 1
53 20 B 1503 3
54 32 B 1504 4
55 84 B 1505 4
56 33 B 1506 4
57 50 C 1503 1
58 61 C 1504 2
59 25 C 1505 3
60 91 C 1506 1
61 17 D 1503 2
62 81 D 1504 4
63 48 D 1505 4
64 24 D 1506 4
я хотел бы агрегировать (и/или tranpose?), Чтобы получить число каждого возраста в отдельных столбцах. Для приведенного выше набора данных, я хочу следующие выходные данные
Facility MMWR Age 1 Age 2 Age 3 Age 4
1 A 1503 3 0 0 1
2 A 1504 1 1 1 1
3 A 1505 3 0 0 1
4 A 1506 2 2 0 0
5 B 1503 0 2 2 0
6 B 1504 0 2 0 2
7 B 1505 1 1 1 1
8 B 1506 0 1 2 1
9 C 1503 1 0 1 2
10 C 1504 0 3 0 1
11 C 1505 0 0 3 1
12 C 1506 1 1 2 0
13 D 1503 1 1 2 0
14 D 1504 0 0 1 3
15 D 1505 0 1 2 1
16 D 1506 1 0 1 2
ОБРАТИТЕ ВНИМАНИЕ, ЧТО Я БУДУ ТОЛЬКО СМОЖЕТЕ ИСПОЛЬЗОВАТЬ БАЗЫ R!
Поставит давно наматывается решение, которое я придумал в комментариях, но я надеюсь, что кто-то может дать мне что-то лучше ...
Ваш код для набора данных не соответствует набору данных. Где «ID»? – SabDeM