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
Это то, что вы ищите?