Я пытаюсь прочитать и объединить несколько текстовых файлов в R. Проблема заключается в том, что мне были предоставлены некоторые данные, где разделители полей между файлами различны (например, вкладка для одного и запятые для другого). Как я могу объединить их эффективно? Пример компоновки:объединение текстовых файлов в R с разными разделителями
Data1 (закладка):
v1 v2 v3 v4 v5
1 2 3 4 urban
4 5 3 2 city
Data2 (запятая):
v1,v2,v3,v4,v5
5,6,7,8,rural
6,4,3,1,city
Этот пример, очевидно, не реальный, реальный код имеет почти полмиллиона очков! И поэтому невозможно изменить исходные файлы. Код, который я использовал до сих пор было:
filelist <- list.files(path = "~/Documents/", pattern='.dat', full.names=T)
data1 <- ldply(filelist, function(x) read.csv(x, sep="\t"))
data2 <- ldply(filelist, function(x) read.csv(x, sep=","))
Это дает мне данные в обоих направлениях, которые я тогда нужно вручную чистой и затем объединить. Есть ли способ использовать sep
таким образом, чтобы это можно было удалить? Имена столбцов одинаковы среди файлов. Я знаю, что stringr
или другие функции конкатенации могут быть полезны, но мне также нужно одновременно загружать данные, и я не знаю, как это установить в командах чтения.
вы пробовали 'fread' из "data.table" в качестве альтернативы' чтения .csv'? Он может, как правило, автоматически определять разделители, сканируя файл. – A5C1D2H2I1M1N2O1R2T1