У меня есть скрипт аналитики, который обрабатывает пакеты данных с похожей структурой, но с разными именами столбцов. Мне нужно сохранить имена столбцов для последующих сценариев ETL, но мы хотим выполнить некоторую обработку, например:
results <- data.frame();
for (name in names(data[[1]])) {
# Start by combining each column into a single matrix
working <- lapply(data, function(item)item[[name]]);
working <- matrix(unlist(working), ncol = 50, byrow = TRUE);
# Dump the data for the archive
write.csv(working, file = paste(PATH, prefix, name, '.csv', sep = ''), row.names = FALSE);
# Calculate the mean and SD for each year, bind to the results
df <- data.frame(colMeans(working), colSds(working));
names(df) <- c(paste(name, '.mean', sep = ''), paste(name, '.sd', sep = ''));
# Combine the working df with the processing one
}
В соответствии с последним комментарием в примере, как я могу объединить фреймы данных? Я пробовал rbind
и rbind.fill
, но ни одна из них не работает, и они могут содержать от 10 до 100 разных имен столбцов в файлах данных.