【发布时间】:2018-07-18 22:18:43
【问题描述】:
我有一个数据框,基本上是这样划分的:
Geo <- c("AGE", "region1", "region2", "region3")
y1 <- c("total", 1:3)
y2 <- c(NA, 4:6)
y3 <- c(NA, 7:9)
df <- data.frame(Geo, y1, y2, y3)
Geo <- c("AGE", "region1", "region2", "region3")
y1 <- c("60 years", 9:11)
y2 <- c(NA,12:14)
y3 <- c(NA,15:17)
df2 <- data.frame(Geo,y1,y2,y3)
# shape
df <- rbind(df,df2)
所以,我的数据框如下所示:
Geo y1 y2 y3
1 AGE total NA NA
2 region1 1 4 7
3 region2 2 5 8
4 region3 3 6 9
5 AGE 60 years NA NA
6 region1 9 12 15
7 region2 10 13 16
8 region3 11 14 17
如您所见,我的数据框基本上分为两部分,其中“AGE”是划分此数据框的有效行。我想解开这些块并将它们放在这样的工作格式中:
我的范围
Geo year value Age
1 region1 y1 1 total
2 region1 y2 4 total
3 region1 y3 7 total
4 region2 y1 2 total
5 region2 y2 5 total
6 region2 y3 8 total
7 region3 y1 3 total
8 region3 y2 6 total
9 region3 y3 9 total
10 region1 y1 9 60 years
11 region1 y2 12 60 years
12 region1 y3 15 60 years
13 region2 y1 10 60 years
14 region2 y2 13 60 years
15 region2 y3 16 60 years
16 region3 y1 11 60 years
17 region3 y2 14 60 years
18 region3 y3 17 60 years
由于我的原始数据框限制了数千个数据,因此有人可以提供一种快速有效的方法吗?
【问题讨论】:
标签: r partitioning data-manipulation reshape2 data-cleaning