Я бы порекомендовал прочитать в первых двух строках, сделать нужные имена столбцов, а затем прочитать в остальных, пропустив первые 2 строки. Вот пример для одного файла, который можно найти по адресу filepath x
:
cnames = read.csv(x, nrow = 2)
cnames = sapply(cnames, paste, collapse = "")
data = read.csv(x, skip = 2, col.names = cnames)
Я также настоятельно рекомендую вам оставить ваши результаты в виде удобного, простого в использовании list
вместо созданияоколо 50 кадров данных в вашей среде. Мое обоснование этой рекомендации подробно изложено здесь . Это может выглядеть так:
temp = list.files(pattern="*.csv")
data_list = list()
for(i in seq_along(temp)) {
cnames = read.csv(x, nrow = 2)
cnames = sapply(cnames, paste, collapse = "")
data_list[[i]] = read.csv(x, skip = 2, col.names = cnames)
}
names(data_list) = sub(".csv", "", basename(temp), fixed = TRUE)
# Then if you want to combine them all
complete_data = dplyr::bind_rows(data_list, .id = "source_file")