Использование двух векторов для l oop через код для генерации одного вывода xlsx с использованием R - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть данные в нескольких базах данных Excel, которые я хочу объединить в один Excel с уточненной информацией. Уникальные идентификаторы - это имя ALM для файлов Excel, которые нужно загрузить, и Boog_ID в большой базе данных Excel.

У меня есть следующий код:

#Import section_id's and corresponding ALM's
section_ids <- read.csv2("section_ids.csv", colClasses = "character")

## Repeat all below for all sections
for (i in section_ids$alm) {
  for (j in section_ids$boog_id) {

#Import excel using "Import dataset" 
hor <- read_xlsx(paste("ALM_", i,".xlsx", sep = ""), 1)
ver <- read_xlsx(paste("ALM_", i,".xlsx", sep = ""), 2)
add_complete <- read_xlsx("curve_information_combined.xlsx")

#Extract correct additional information
add <- filter(add_complete, BoogID == j)

## A bunch of code to generate a dataframe named "combined"  to generate a dataframe per section_id.
## This code works flawless and is therefore left out of this example

#Export as xlsx
write.xlsx(combined, "road_characteristics.xlsx", row.names = FALSE, append = TRUE)
  }
}

Я надеялся сгенерировать Файл Excel, содержащий всю информацию всех идентификаторов section_id. Тем не менее, l oop кажется застрявшим после первой итерации, генерируя Excel, содержащий только информацию о первом curve_id. Кроме того, я не обновил второе значение в section_ids $ alm, но j обновил второе значение в section_ids $ boog_id.

Что я делаю неправильно? Почему l oop не продолжается? Возможно, основная ошибка 1011 * в for-l oop? Я искал в Интернете, но не нашел хорошего ответа.

1 Ответ

0 голосов
/ 24 апреля 2020

Как уже упоминал Лен, я попытаюсь привести воспроизводимый пример, но я не уверен в этом ... # noob

alm <- c(1, 2, 3, 4, 5, 6)
section_id = c("a", "b", "c", "d", "e", "f")
section_ids <- data.frame(alm, section_id)                          

for (i in section_ids$alm) {
  for (j in section_ids$boog_id) {

#some code
example <- i
test <- j
combined <- merge(example, test)

#Export as xlsx
write.xlsx(combined, "road_characteristics.xlsx", row.names = FALSE, append = TRUE)
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...