Преобразовать проблему заголовка Excel в R - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть множество листов в файле Excel, которые соответствуют этой основной проблеме.Подробности:

  • Каждое расположение находится в первом столбце, но не начинается до строки, содержащей «Loc»
  • Имя переменной находится в первом ряду второгостолбец, но не повторяется, однако снова встречается в столбце 14
  • Год, когда была измерена переменная, находится во второй строке второго столбца, но не повторяется, однако в следующем годунаходится в столбце 14
  • В третьей строке второго столбца указан месяц, когда была измерена переменная
  • Значение переменной найдено, начиная со строки 4, столбец 2.

Пример фрейма данных выглядит следующим образом (значения за год и месяц на самом деле не актуальны, поэтому некоторые из них повторяются):

KPI <- data.frame(X1 = c(NA, NA, "Loc", 2941, 2963, 2222),
                  X2 = c("HH", 2017, 1, 45221, 50181, 13959),
                  X3 = c(NA, NA, 2, 16518, 1550, 5000),
                  X4 = c(NA, NA, 3, 45111, 4800, 4600),
                  X5 = c(NA, NA, 4, 45111, 4800, 4600),
                  X6 = c(NA, NA, 5, 45111, 4800, 4600),
                  X7 = c(NA, NA, 6, 45111, 4800, 4600),
                  X8 = c(NA, NA, 7, 45111, 4800, 4600),
                  X9 = c(NA, NA, 8, 45111, 4800, 4600),
                  X10 = c(NA, NA, 9, 45111, 4800, 4600),
                  X11 = c(NA, NA, 10, 45111, 4800, 4600),
                  X12 = c(NA, NA, 11, 45111, 4800, 4600),
                  X13 = c(NA, NA, 12, 45111, 4800, 4600),
                  X14 = c("HH", 2018, 1, 40000, 4200, 4500),
                  X15 = c(NA, NA, 2, 45111, 4800, 4600),
                  X16 = c(NA, NA, 3, 45111, 4800, 4600),
                  X17 = c(NA, NA, 4, 45111, 4800, 4600),
                  X18 = c(NA, NA, 5, 45111, 4800, 4600),
                  X19 = c(NA, NA, 6, 45111, 4800, 4600),
                  X20 = c(NA, NA, 7, 45111, 4800, 4600),
                  X21 = c(NA, NA, 8, 45111, 4800, 4600),
                  X22 = c(NA, NA, 9, 45111, 4800, 4600),
                  X23 = c(NA, NA, 10, 45111, 4800, 4600),
                  X24 = c(NA, NA, 11, 45111, 4800, 4600))

Но мне нужно преобразовать вышеприведенноегде у меня есть три столбца:

  • Местоположение
  • Дата (месяц-год)
  • Переменная и значения

Мне нужнофункция, которая по существу отменяет список VarИмя, год и месяц, затем объединяют месяц и год для формирования второго столбца, плавления и распределения значения в третьем столбце для соответствующей даты измерения и местоположения.У меня есть попытка, но пропущенные значения в первых нескольких столбцах приводят к проблемам заголовков и проблемам длины.

Примерно так, но для каждого местоположения в столбце 1 во всех датах с 2017 по 2018 год я могу переписать, чтобы прочитатькаждый лист в книге Excel, но лучший ответ будет включать это также, спасибо за чью-либо помощь, я не могу быть единственным?

KPIdesire <- data.frame(Loc = c(2941, 2941, 2941),
                  Date = c("1-2017", "2-2017", "3-2017"),
                  HH = c(45221, 16518, 54111))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...