R- из столбцов в строки без заголовка

У меня есть 8 переменных на компанию, в общей сложности 25 компаний. Однако мне не нужно проводить различие между этими компаниями. Если вы посмотрите на пример: мне нужно, чтобы AH и JUMBO были в одном столбце, то же самое для AHQ1 и JUMBOQ1 и для обоих Q2. Таким образом, у меня не 6 столбцов, а всего 3 и вдвое больше наблюдений в этих строках. Заголовок столбца может оставаться 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 ответ

Решение
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

Это то, что вы ищите?

Другие вопросы по тегам