【发布时间】:2015-11-20 17:06:41
【问题描述】:
我很难找到重新排列数据集的方法。数据集的形式如下:
数据
a <- data.frame(Id = c("123Ba", "672Es"),
FirstFlight = c("1999-10-04","1999-10-05"),
EnrollmentMonth = c("1999-10","2000-10"),
Q1_1999 = c(3,0),
Q2_1999 = c(0,1),
Q3_1999 = c(0,1))
# Id FirstFlight EnrollmentMonth Q1_1999 Q2_1999 Q3_1999
#1 123Ba 1999-10-04 1999-10 3 0 0
#2 672Es 1999-10-05 2000-10 0 1 1
变量 Id 是每个乘客的唯一标识符,最后三个变量代表一年中的季度(Q1_1999 = 1999 年的第一季度)。该季度变量的值表示一个人在相应季度进行了多少次飞行。
我尝试做的是重塑数据集,以便为特定季度的乘客每次飞行获得一行。因此,对于 Quarter 变量中的每个条目,应该生成相同数量的行,并且需要添加一个该季度的新变量,以便识别进行单次飞行的季度......我希望它更清楚一点现在。
预期输出
b <- data.frame(Id = c("123Ba", "123Ba", "123Ba","672Es","672Es"),
Quarter = c("Q1_1999","Q1_1999","Q1_1999","Q2_1999", "Q3_1999"),
FirstFlight = c("1999-10-04","1999-10-04","1999-10-04","1999-10-05","1999-10-05" ),
EnrollmentMonth = c("1999-10","1999-10","1999-10","2000-10" ,"2000-10"))
# Id Quarter FirstFlight EnrollmentMonth
#1 123Ba Q1_1999 1999-10-04 1999-10
#2 123Ba Q1_1999 1999-10-04 1999-10
#3 123Ba Q1_1999 1999-10-04 1999-10
#4 672Es Q2_1999 1999-10-05 2000-10
#5 672Es Q3_1999 1999-10-05 2000-10
如何重新排列我的数据以获得此结果?
【问题讨论】: