R-从列到行而不采用标题

时间:2017-11-30 12:37:33

标签: r rows data-cleaning

我每家公司有8个变量,共有25家公司。但是,我不需要在这些公司之间做出任何区分。如果你看一个例子:我需要在一列中使用AH和JUMBO,对于AHQ1和JUMBOQ1以及两个Q2都需要相同。通过这种方式,我没有6列,但在这些行中只有3和2倍的观察。列的标题可以保留AH,AHQ1和AHQ2。

提前感谢任何提示!

数据示例:

df <- data.frame("ID" = c(1,1,2,2,2,2), "Year" = c(2012, 2015,2012,2013,2015,2016), 
"AH" = c(1, NA, 1,1,1,1), "AHQ1" = c(8, NA,7,8,9,10),
             "AHQ2" = c(10,NA,7,8,5,2),"JUMBO" = c(NA,NA,1,1,1,NA), 
"JUMBOQ1" = c(NA,NA,8,9,7,NA), "JUMBOQ2"= c(NA,NA,10,9,7,NA))

1 个答案:

答案 0 :(得分:1)

temp <- cbind(df[1:2], df[6:8])
names(temp) <- names(df[1:5])

df2 <- rbind(df[1:5], temp)

> df2
   ID Year AH AHQ1 AHQ2
1   1 2012  1    8   10
2   1 2015 NA   NA   NA
3   2 2012  1    7    7
4   2 2013  1    8    8
5   2 2015  1    9    5
6   2 2016  1   10    2
7   1 2012 NA   NA   NA
8   1 2015 NA   NA   NA
9   2 2012  1    8   10
10  2 2013  1    9    9
11  2 2015  1    7    7
12  2 2016 NA   NA   NA

这是你在找什么?