【发布时间】:2020-01-21 12:07:00
【问题描述】:
我正在研究一个大型数据库,我想在其中根据第三个(也是第四个)变量的模式制作链表(x),并汇总结果。有点卡住了,不知道怎么弄。
这是我的数据框(数据)的结构:
age dead work sex
56 1 44 M
20 0 20 F
71 0 62 F
26 1 A0 M
44 0 80 F
19 0 01 M
77 0 78 M
51 0 13 F
56 1 Z0 F
每一行都是一个个体。他有一个年龄,他是死是活,它有一个职业(这是栏目,包含职业代码:“02”是科学,“88”是冶金工人,“A0”是军事等)和性别(男/女)。
我只是想创建死亡率表。这很容易:
table(data$age, data$dead)
这是完整数据库的结果,例如:
age dead=0 dead=1
.. .... .
25 1725 0
26 3627 1
27 336 0
28 3339 1
30 275648 856
31 90932 258
32 120743 268
33 587954 1023
36 148610 57
39 5101 7
40 15960 43
41 102273 336
42 147941 174
43 69216 43
44 43178 37
45 3074 0
47 1424 1
48 3471 1
49 12048 3
50 85 0
51 45138 110
52 84804 147
53 4614 16
54 19241 46
55 86021 160
.. .... .
现在,我想对变量“work”的每个类别执行此操作。手动,在特定类别上很容易,例如科学:
table(data$age[data$class=="02"],data$dead[data$class=="02"])
我正在搜索如何自动执行此操作:
1) 用于工作变量的每个类别。变量不连续(..., 11, 12, 13, 14, 19, 20,...),有时还有字母(A0, Z0);
2) 对于每个类别,我想区分男性和女性(科学男性的表格和科学女性的表格);
3)然后将多个表(数据)的结果聚合在一个数据框中,其中连接是年龄。因此,每一列都是按年龄、特定性别和职业划分的人数。
你能帮帮我吗?
非常感谢!
【问题讨论】:
-
如果您在代码中提供示例 data.frame 会更容易,例如
data.frame(age=c(56,20,...), dead=c(1,0,...), ...
标签: r automation aggregate