Я пытаюсь создать один фрейм данных из 87 файлов .cvs, используя 3 общих столбца во всех файлах Excel.Общими являются следующие столбцы: Date
CowID
Time
, но файлы содержат несколько столбцов, которые не являются общими, но которые необходимо объединить.Каждый файл также имеет разную длину, поэтому я думаю, что в финальном data.frame
будет много NA.У меня нет проблем с чтением файлов.Я нашел код для этого, используя Объединение нескольких data.frames в один data.frame с циклом .
filenames <- list.files(path= "...\\data\\dat_merge", full.names=TRUE)
library(plyr)
import.list <- llply(filenames, read.csv)
data <- Reduce(function(x, y) merge(x, y, all=TRUE,
by.x=c("Date", "CowID", "Time"),
by.y=c("Date", "CowID", "Time")),
import.list, accumulate=F)`
Однако, когда я попытался объединить файлы, используя reduce
, я получил ошибку:
Ошибка в fix.by (by.y, y): 'by'должен указывать уникально допустимый столбец
Я не знаю, если проблема в том, что один из общих столбцов - это дата, и это символ, например, 24.11.2008.
Я пытался использовать x <- multimerge(my_data, all = TRUE, by=c("Date", "CowID", "Time"))
, но он тоже не работает