У меня есть множество листов в файле 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))