【发布时间】:2020-10-27 00:21:14
【问题描述】:
我有以下数据框:
date clinic MALE_0_1 MALE_1_2 MALE_2_3 ... MALE_94_95 MALE_95+ FEMALE_0_1 FEMALE_1_2 ... FEMALE_95+
2017-01-01 A 30 25 40 ... 70 90 28 22 ... 40
2017-01-01 B 21 15 30 ... 45 27 31 40 ... 55
2017-02-01 C 29 35 45 ... 34 25 33 38 ... 45
我怎样才能创建一个这样的:
date clinic GENDER AGE NUMBER_PATIENTS
2017-01-01 A MALE 0 30
2017-01-01 A FEMALE 0 28
2017-01-01 A MALE 1 25
2017-01-01 A FEMALE 1 22
....
2017-01-01 A MALE 95+ 90
2017-01-01 A FEMALE 95+ 40
2017-01-01 B MALE 0 21
2017-01-01 B FEMALE 0 31
....
2017-02-01 C MALE 0 29
2017-02-01 C FEMALE 0 33
MALE_0_1 相当于 AGE = 0,MALE_1_2 相当于 AGE = 1,以此类推
下面的代码 - 我应该如何在times 中同时包含 FEMALE、MALE 的“GENDER”和 0:95 的“AGE”?
df <- reshape(df,
direction = "long",
varying = list(names(df)[3:194]),
v.names = "NUMBER_OF_PATIENTS",
idvar = c("date", "clinic"),
timevar = c("GENDER", "AGE"),
times = ???)
【问题讨论】: