Предположим, у меня есть 8 таблиц. Пусть 6 столбцов одинаковы в каждой из этих таблиц, но среди этих 8 таблиц 5 из них имеют один дополнительный столбец (имя столбца которого одинаково во всех 5, а это означает, что 5 из них имеют в общей сложности 7 столбцов). Мой вопрос заключается в том, как мы будем связывать все 8 таблиц таким образом, что остальные 3 таблицы также теперь состоят из этого дополнительного столбца, который имеет другой 5. Надеюсь, вопрос совершенно ясен.Как объединить несколько CSV-файлов с разными столбцами в R?
ответ
Вы можете использовать rbind.fill
из пакета plyr для этого:
library(plyr)
# df_list contains a list of all the csv files you read, e.g. using lapply(list_paths, read.csv)
df_list = list(data.frame(a = c(1,2), b = c(3,4)),
data.frame(a = c(4,5), b = c(6,3), c = c(20, 21)))
> do.call('rbind.fill', df_list)
a b c
1 1 3 NA
2 2 4 NA
3 4 6 20
4 5 3 21
или в качестве альтернативы, использовать rbindlist
из data.table
, как @akrun предложил. Это, вероятно, намного быстрее для больших наборов данных.
Спасибо, Пол, но есть ли другой вариант, в котором вам не нужно вводить все и использовать только цикл или некоторые другие методы. –
Я не уверен, что вы имеете в виду. Использование rbind.fill, похоже, не очень много кода. –
У меня проблема решена, так как это было всего лишь из 8 таблиц, я вручную вставил отсутствующий столбец в остальные 3 таблицы, а затем объединил их. lst <- list (v1, v2, v3, v4, v5, v6, v7, v8,); vCombined <- rbindlist (lst, fill = TRUE) –
- 1. Как объединить две таблицы с разными столбцами
- 2. Как объединить несколько кадров данных с одинаковыми столбцами в R?
- 3. объединить несколько файлов с разными строками в R
- 4. объединить две таблицы с разными столбцами mysql
- 5. Объединить файлы с разными и перекрывающимися столбцами
- 6. Как объединить два запроса с разными столбцами в один?
- 7. Как объединить результаты из нескольких таблиц с разными столбцами?
- 8. Объединить несколько файлов с разными значениями счета
- 9. Как объединить объекты xts с несколькими разными столбцами?
- 10. MySql - Несколько таблиц с незначительно разными столбцами
- 11. Несколько CSV для MySQL с разными столбцами
- 12. Объединить два кадра данных с несколькими разными столбцами
- 13. Объединить два файла в linux с разными столбцами
- 14. объединить несколько SQL строк с различными столбцами
- 15. Объединить строки из двух таблиц с разными столбцами?
- 16. Объединить несколько массивов объектов с разными идентификаторами
- 17. Слияние CSV в python с разными столбцами
- 18. SQL: Как объединить несколько строк в соответствии с коммутируемыми столбцами?
- 19. Соединительные таблицы с разными столбцами
- 20. Excel: объединение полудуплицированных записей (с разными столбцами)?
- 21. Как рассчитать с разными столбцами дат
- 22. Несколько соединений в одной таблице с разными столбцами
- 23. R - объединить несколько строк друг в друга
- 24. Merge ActiveRecord :: Реляционные массивы с разными столбцами
- 25. слияния запросов с разными столбцами
- 26. Как объединить разные запросы с разными условиями
- 27. R сохранять несколько файлов с разными именами
- 28. CQL - строки с разными столбцами
- 29. Чтение csv logfiles с разными заголовками/столбцами
- 30. Объединить несколько подобных строк в один с новыми столбцами
Поместите наборы данных в 'list' i.e.' lst <- list (df1, df2, ... df8); библиотека (data.table); rbindlist (lst, fill = TRUE) ' – akrun