Вставка первой строки в имя столбца в списке - PullRequest
2 голосов
/ 24 апреля 2019

У меня 68 файлов данных - все с одинаковыми идентификаторами, но с разными показателями. Я преобразовал эти отдельные файлы в список с каждым фреймом данных в качестве отдельного элемента. Первая строка каждого фрейма данных - это год, который я хотел бы вставить в имя столбца. Я хочу быть в состоянии отделить его от "_". Например, сейчас имя столбца - Arbeitslose, а строка под ним - 2018. Мне бы хотелось, чтобы имя столбца стало Arbeitslose_2018.

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

RAW_2[1,] <- as.character(RAW_2[1,]) # Converting the fist row to a character. 
colnames(RAW_2) <- paste(colnames(RAW_2),RAW_2[1, ], sep = "_") # Paste Year (Row 2) and columnname 
RAW_2 <- RAW_2[rownames(RAW_2) != 1, ] # Drop 1st row which is the years - now abundant

но я не знаю, как сделать это для списка. Я не могу объединить кадры данных в один, потому что имена столбцов не являются уникальными. Мне нужно сделать этот шаг, чтобы я смог объединить его в набор данных и продолжить. Я вынужден работать со списками, с чем я ужасен. Есть простой способ сделать это? Я совершенно заблудился, как поступить.

1 Ответ

1 голос
/ 24 апреля 2019

Вы можете использовать lapply()

rename_col <- function(x){
  colnames(x) <- paste0(colnames(x),x[1,],sep="_")
  x[-1,]
}

#df_list as your list of data.frames
lapply(df_list,rename_col)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...